0

createRangeJavaScript関数で範囲を選択しようとしています。私はこの関数を何年もかけて発見したばかりで、DOH の 1 つです。瞬間。

特定の親のすべての要素を選択する方法はありますか。現在、選択しようとしているコンテンツでいっぱいの div があります。このコンテンツは、テキスト ノード、要素、IDK の場合があります。

var container = document.getElementById('mydiv');
var range = document.createRange();
range.setStart(container, 0);
range.setEnd(container, ???);

親 ( ) のコンテンツの長さを取得するための正確で簡単で効率的な方法はありcontainerますか? rangeそれとも、すでにこれを行う隠しメソッドがありますか?

ライブラリはありません。クロスブラウザーのフォールバックについてはそれほど心配していませんが、それらについての洞察があれば大歓迎です。

編集

わかりやすくするために、innerHTML を取得しようとしているのではなく、範囲オブジェクトを取得しようとしています。したがって、「なぜinnerHTMLを使用しないのか」とは言わないでください。

4

1 に答える 1

1

selectNodeContents指定された要素のコンテンツを取得して、トリックを実行します。

range.selectNodeContents(container);
于 2012-11-07T18:13:40.220 に答える