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()在查询中使用吗?
两种选择:
要选择其字符串值包含子字符串"Herbert"的所有文本节点:
//text()[contains(.,'Herbert')]
Run Code Online (Sandbox Code Playgroud)要选择所有文本节点,其字符串值是 "赫伯特":
//text()[.='Herbert']
Run Code Online (Sandbox Code Playgroud)请注意你的评论,
以下选择所有文本(不是文本节点)
关于XPath //text(),是不正确的.节点测试text()选择文本节点.在字符串上下文中,它将返回文本节点的字符串值,但text()单独肯定会选择实际的文本节点.