内部でスタイリングを提供するために、いくつかのネストされたスパンを持つ contenteditable 要素があります。elemebt の特定のオフセットにある css クラスを調べる必要があります。たとえば、次のようなものがあります。
<div contenteditable>
     <span class"nothing">    </span>
     <span class="outer">my <span class="other">name</span> is </span><span class="name">Andrew</span>
</div>
画面上のテキストは次のようになります (適切なスタイルを使用)。
my name is Andrew
ここで、contenteditable 領域がさらに大きくなり、多くの入れ子になった span 要素があると想像してください。テキストへのオフセットが与えられた場合、それを含む css クラスを計算できる必要があります。
たとえば、nofであるオフセット 4 で CSS スタイルが必要だとしnameます。結果は次のようになると思います。
outer other
同等の解決策は、オフセットが与えられた場合 (たとえば4)、その場所をラップしている html 要素を計算できることです (この場合、次のようになります:
<span class="other">name</span>
私はjqueryを使用していますが、他のライブラリは使用していません。これを簡単に計算するにはどうすればよいですか?
編集:以前はテキストエリアを使用していましたが、機能しません。contenteditable div 要素を使用する必要があります。