Javascript 突出显示包含不同节点的节点
编辑:我在这篇文章中找到了一个很好的解决方案 我正在制作一个脚本来突出文本。我正在使用标签。这部分很简单,但现在我遇到了一个问题。当高亮显示包含不同的节点时,我需要在父节点关闭之前关闭标记,然后在新节点中再次打开。这不是一个很好的解释,所以我举了一个例子:Javascript 突出显示包含不同节点的节点,javascript,html,Javascript,Html,编辑:我在这篇文章中找到了一个很好的解决方案 我正在制作一个脚本来突出文本。我正在使用标签。这部分很简单,但现在我遇到了一个问题。当高亮显示包含不同的节点时,我需要在父节点关闭之前关闭标记,然后在新节点中再次打开。这不是一个很好的解释,所以我举了一个例子: <body> <p id="0">Lorem ipsum</p> <div id="1">dolor sit amet</div>
<body>
<p id="0">Lorem ipsum</p>
<div id="1">dolor sit amet</div>
</body>
在我的案例中,元素将是标记
这就是我所拥有的,仍然存在突出显示不同节点的问题
在您的示例中,您必须在代码的每个部分上启动不同的垃圾邮件:
<span>ipsum</span></p><div id="1"><span>dolor sit</span>
所以对你来说,只要在开头加上一个span,然后查找字符串的结尾,或者a'将显示你想要的任何类型的预览或示例。。。
function surroundSelection(element) {
if (window.getSelection)
{
var sel = window.getSelection();
if (sel.rangeCount)
{
console.log (sel);
var range = sel.getRangeAt(0).cloneRange();
range.surroundContents(element);
sel.removeAllRanges();
sel.addRange(range);
}
}
}
<span>ipsum</span></p><div id="1"><span>dolor sit</span>