首先,标题与此问题相同:JavaScript Set Window selection
但是这个问题标题很差,因为他想知道如何选择或清除当前选择,答案是如何清除选择。
问题是,使用java脚本如何动态/编程地在元素(div,p,b等)上创建选择?基本上你怎么能动态突出元素内的文本?
关于如何突出显示特定元素的所有文字,有很多答案,但没有答案关于如何突出显示元素的特定文字< /强>
答案 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