Javascript:动态设置窗口选择或从元素中选择特定文本

时间:2013-10-17 04:52:09

标签: javascript selection

首先,标题与此问题相同:JavaScript Set Window selection

但是这个问题标题很差,因为他想知道如何选择或清除当前选择,答案是如何清除选择。

问题是,使用java脚本如何动态/编程地在元素(div,p,b等)上创建选择?基本上你怎么能动态突出元素内的文本?

关于如何突出显示特定元素的所有文字,有很多答案,但没有答案关于如何突出显示元素的特定文字< /强>

1 个答案:

答案 0 :(得分:0)

从这里您可以获得一些信息: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);
}

请注意,在将其实施到您的网站之前,您必须先看到compatibility table