0

使用下面的代码,我可以在页面上找到文本并突出显示它

document.designMode = "on";
if(window.find(textLine, true)){  
       document.execCommand("BackColor", false, "rgb(250, 250, 0)");
   textSelection.collapseToEnd();
}
document.designMode = "off";

但我的要求是在所选文本中查找文本。即,如果所选文本中存在某些单词,我想突出显示某些文本。使用该surroundCountents()方法,我可以用一些 DIV 元素包装初始文本,然后尝试搜索 HTML,但我正在寻找类似于上面代码的解决方案。请问有什么建议吗?

4

1 回答 1

0

不支持使用 window.find 查找已从上一个 window.find 中选择的文本,因为 window.find 方法(据我所见)不支持在范围或选择中搜索。

API在这里:http ://help.dottoro.com/ljkjvqqo.php

我怀疑您可以再次使用 window.find 作为您的关键字并检查插入符号的位置等来验证结果是否在原始结果中,但乍一看似乎效率低下。看看选择 API 和范围... https://developer.mozilla.org/en/docs/DOM/Selection 您可以运行 2 window.find 并比较范围以查看第二个在第一个范围内。

我认为一个简单的 javascript 文本搜索对于您想要的内容将非常有效和快速。

于 2013-04-25T11:47:31.353 回答