在html中找到所有包含字符串的元素

问题描述 投票:0回答:1

我想在我的DOM中找到所有带有特定字符串的元素,这可能吗?我试图遍历所有元素,但是花了太多时间

javascript html dom
1个回答
0
投票

所以我找到了一种方法:

这里,我们使用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)
  }

}
© www.soinside.com 2019 - 2024. All rights reserved.