用于选择所有文本节点的XPath

Mel*_*lab 4 html javascript xml xpath

我正在编写一个JavaScript函数,可以用HTML代码替换文本,但要做到这一点,我需要能够以文本节点的形式访问文本.以下XPath选择div文档中的所有标记:

//div
Run Code Online (Sandbox Code Playgroud)

以下XPath选择具有class赋值的属性的所有元素myclass:

//*[@class="myclass"]
Run Code Online (Sandbox Code Playgroud)

以下选择在具有ID的元素下面的任何级别发生的所有文本(不是文本节点)comments:

//*[@id="comments"]//text()
Run Code Online (Sandbox Code Playgroud)

什么是XPath可用于选择任何元素下的所有文本节点?所以,假设我想要替换字符串的所有非注释事件,Hebert我需要所有文本节点,以便我可以扫描它们以查找该字符串.它会text()在查询中使用吗?

kjh*_*hes 6

两种选择:

请注意你的评论,

以下选择所有文本(不是文本节点)

关于XPath //text(),是不正确的.节点测试text()选择文本节点.在字符串上下文中,它将返回文本节点的字符串值,但text()单独肯定会选择实际的文本节点.

另请参阅在XPath中测试text()节点与字符串值