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

Javascript 用于选择所有文本节点的XPath,javascript,html,xml,xpath,Javascript,Html,Xml,Xpath,我正在编写一个JavaScript函数,可以用HTML代码替换文本,但要做到这一点,我需要能够访问文本节点形式的文本。以下XPath选择文档中的所有div标记: //div 以下XPath选择属性class赋值为myclass的所有元素: //*[@class="myclass"] 以下选项选择ID为注释的元素下方任何级别上出现的所有文本(非文本节点): //*[@id="comments"]//text() 什么是可用于选择任何元素下所有文本节点的XPath?因此,假设我想替换字符串He

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

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

//*[@class="myclass"]
以下选项选择ID为注释的元素下方任何级别上出现的所有文本(非文本节点):

//*[@id="comments"]//text()
什么是可用于选择任何元素下所有文本节点的XPath?因此,假设我想替换字符串
Hebert
的所有非注释出现,我需要所有的文本节点,这样我就可以在其中扫描该字符串。它会在查询中使用
text()

两个选项:

  • 选择字符串值包含子字符串的所有文本节点 “赫伯特”:

  • 要选择字符串值为“Herbert”的所有文本节点,请执行以下操作:

注意你的评论

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

关于XPath,
//text()
,是不正确的。节点测试选择文本节点。在字符串上下文中,它将返回文本节点的名称,但只有
text()
才能选择实际的文本节点


另请参见元素节点中的文本节点,您可以对其进行操作。你指的是只包含文本而没有子元素节点的元素节点吗?你真的应该对你提出的75个问题给出一些很好的答案。问75个问题,接受0个你收到的好答案(并且在4年内只有两次向上投票)表明你对你得到的帮助缺乏感激,也无法帮助未来的读者。现在解决这个问题还不晚。你现在应该这样做。
//text()[contains(.,'Herbert')]
//text()[.='Herbert']