HTML ドキュメント内の任意のテキスト範囲に CSS クラスを適用する方法を探しています。私は MooTools と rangy ライブラリを使用していますが、処理する TextNode が 1 つしかない場合は、次のように機能します。
createRange: function(start, end) {
var node = this.textArea.childNodes[0]; // textArea is an HTML <span> element
var range = rangy.createRange();
range.setStart(node, start);
range.setStart(node, end);
return range;
}
これにより、CSS クラスを適用できる範囲が得られます。ただし、TextArea 内に HTML マークアップがある場合、複数の TextNode が存在するため、一方から始まり他方で終わる範囲を設定する必要があります。textArea 内のすべての TextNodes の順序付けられたリストを取得できれば、これを実行できると思いますが、そのリストを取得する方法 (または場合) がわかりません。