我遇到了一个问题:我想在 html 文档中搜索一个字符串。到目前为止,我尝试使用 window.find(..) 方法,但我无法取回找到的元素的节点。例如,我可以突出显示所有匹配的文本。但是我想把所有的节点放在一个数组中,我找不到可以返回给我选择文本的节点的方法。以下代码仅突出显示匹配的文本,我想获取它的(父)节点。
function doSearchAdam(text) {
if (window.find && window.getSelection) {
document.designMode = "on";
var sel = window.getSelection();
sel.collapse(document.body, 0);
while (window.find(text)) {
document.execCommand("HiliteColor", false, "yellow");
sel.collapseToEnd();
}
document.designMode = "off";
} else if (document.body.createTextRange) {
var textRange = document.body.createTextRange();
while (textRange.findText(text)) {
textRange.execCommand("BackColor", false, "yellow");
textRange.collapse(false);
}
}
}
多谢你们!亚当