我想在我的DOM中找到所有带有特定字符串的元素,这可能吗?我试图遍历所有元素,但是花了太多时间
所以我找到了一种方法:
这里,我们使用XPath查找所有不是脚本的无子元素:
var nodes= document.evaluate(".//*[not(self::script) and not(*)]", document, null, XPathResult.ANY_TYPE, null );
现在我们将它们放入数组,以便我们遍历它们:
var elements = []
var nextNode = nodes.iterateNext();
while(nextHeading) {
elements.push(nextNode)
nextNode = nodes.iterateNext();
}
最后,我们可以遍历它们,并检查它们是否包含我们要查找的短语:
var phrase = 'hello world'
for(element of elements) {
var text = element.innerText
if( text && text.includes(phrase)) {
console.log(element)
}
}