1

まず、タイトルはこの質問と同じです: JavaScript Set Window selection

しかし、彼は現在の選択を選択またはクリアする方法を知りたいので、その質問のタイトルは悪く、答えは選択をクリアする方法でした。

問題は、java-script を使用して、要素 (div、p、b など) の選択を動的/プログラム的に作成するにはどうすればよいですか? 基本的に、要素内のテキストを動的に強調表示するにはどうすればよいでしょうか?

特定の要素のすべてのテキストを強調表示する方法については多くの回答がありますが、要素の特定のテキストを強調表示する方法については回答がありません。

4

1 に答える 1

2

ここからいくつかの情報を得ることができます: http://quirksmode.org/dom/range_intro.html

編集:

その要素内の特定のテキストを強調表示できるように、正しい要素ノードをトラバースする必要があります。そのため、selectParticular(elem, start, end) の要素はテキスト要素でなければなりません。そうしないと、エラーが発生します。

次のコードを使用して、要素のすべてのテキストを動的に強調表示/取得できます。

function selectAll(elem){
   var range = document.createRange();
    range.setStart(elem, 0);
    range.setEnd(elem, 1);
    window.getSelection().addRange(range);
}

次の方法で、要素上の特定のテキストを強調表示/取得できます。

function selectParticular(elem, start, end){
    var range = document.createRange();
    range.setStart(elem.firstChild, start);
    range.setEnd(elem.firstChild, end);
    window.getSelection().addRange(range);
}

サイトに実装する前に、互換性テーブルを確認する必要があることに注意してください

于 2013-10-17T04:52:08.947 に答える