1

JavaScriptでIE8のノード(要素)を選択する方法を知っている人はいますか?サードパーティのライブラリを使用しないことをお勧めします。

IE9では、次のように実行できます。

var sel = window.getSelection();
sel.removeAllRanges();
var range = document.createRange();
range.selectNode(node);
sel.addRange(range);

IE8でこれをどのように行うことができますか?

4

2 に答える 2

2

古いIEの場合nodeは、次の要素が提供されます。

var range = document.body.createTextRange();
range.moveToElementText(node);
range.select();

完全なクロスブラウザソリューションについては、を参照してください。

https://stackoverflow.com/a/2044793/96100

于 2012-10-18T14:24:19.780 に答える
2

これが私が使用するコードです、それは全面的に機能するはずです:

    var sel, range;
    if(window.getSelection && document.createRange) {
        range = document.createRange();
        range.selectNodeContents(node);
        sel = window.getSelection();
        sel.removeAllRanges();
        sel.addRange(range);

    } else if(document.body.createTextRange) {
        range = document.body.createTextRange();
        range.moveToElementText(node);
        range.select();
    }
于 2012-10-18T14:30:33.547 に答える