Javascript 如何检索HTMLDOM中的所有文本,但不包括脚本和样式标记?
我知道如何从DOM中快速提取文本节点:Javascript 如何检索HTMLDOM中的所有文本,但不包括脚本和样式标记?,javascript,dom,xpath,Javascript,Dom,Xpath,我知道如何从DOM中快速提取文本节点: document.evaluate('//text()', document, null, XPathResult.ANY_TYPE, null) 但是,有没有一种简单的方法可以从脚本、样式或其他未显示给用户的标记中排除文本 比如: '//text()[ parent.name not in ("SCRIPT", "STYLE") ]' 谢谢, Mike除了Nick Jones的正确答案之外,对于更复杂的排除,您应该使用XPath节点集排除表达式: $
document.evaluate('//text()', document, null, XPathResult.ANY_TYPE, null)
但是,有没有一种简单的方法可以从脚本、样式或其他未显示给用户的标记中排除文本
比如:
'//text()[ parent.name not in ("SCRIPT", "STYLE") ]'
谢谢,
Mike除了Nick Jones的正确答案之外,对于更复杂的排除,您应该使用XPath节点集排除表达式:
$ns1[not(count(.|$ns2)=count($ns2))]
在这种情况下:
//*[not(count(.|//script|/*/*/style)=count(//script|/*/*/style))]/text()
//*[not(count(.|//script|/*/*/style)=count(//script|/*/*/style))]/text()