Select text in javascript [closed]

2019-01-10 21:40发布

How do you highlight text in JavaScript? I tried http://jsfiddle.net/WdeTM/ but it doesn't work.

<span id="foo" >bar</span>
document.getElementById("foo").focus();

1条回答
Emotional °昔
2楼-- · 2019-01-10 22:15

Ok, first of all the question should be - How can I select a piece of text using JS?

Highlighting is different from selecting text(Yes, your title is good!)

This should help:

Working demo

function selectText(element) {
    var doc = document;
    var text = doc.getElementById(element);    

    if (doc.body.createTextRange) { // ms
        var range = doc.body.createTextRange();
        range.moveToElementText(text);
        range.select();
    } else if (window.getSelection) { // moz, opera, webkit
        var selection = window.getSelection();            
        var range = doc.createRange();
        range.selectNodeContents(text);
        selection.removeAllRanges();
        selection.addRange(range);
    }
}

selectText('foo');

Just found the original author for my long saved sniplr snippet, credits : @Jason thread here.

查看更多
登录 后发表回答