Andriy F.
Andriy F.

Reputation: 2537

How to select DOM node in javascript in IE8?

Does anyone know how to select node (element) in IE8 in javascript? Not using third-party libs is preferred.

In IE9 you can do like this:

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

How you can do this in IE8?

Upvotes: 1

Views: 3146

Answers (2)

Tyler Biscoe
Tyler Biscoe

Reputation: 2422

Here is the code I use, it should work across the board:

    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();
    }

Upvotes: 2

Tim Down
Tim Down

Reputation: 324557

For older IE it's this, provided node is an element:

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

For a full cross-browser solution, see

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

Upvotes: 2

Related Questions