我遍历了DOM的所有文本节点,并检查nodeValue是否包含某个字符串。
/html/body//text()[contains(.,'test')]
这是区分大小写的。但是,我也想捕获Test
、TEST
或TesT
。用XPath (在JavaScript中)可以做到吗?
发布于 2011-12-12 20:49:35
不区分大小写的contains
/html/body//text()[contains(translate(., 'EST', 'est'), 'test')]
发布于 2011-12-12 20:14:08
是。您可以使用translate
将要匹配的文本转换为小写,如下所示:
/html/body//text()[contains(translate(.,
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'abcdefghijklmnopqrstuvwxyz'),
'test')]
发布于 2011-12-12 20:12:32
我一直这样做的方式是使用XPath中的"translate“函数。我不会说它很漂亮,但它工作正常。
/html/body//text()[contains(translate(.,'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'),'TEST')]
希望这能帮上忙
https://stackoverflow.com/questions/8474031
复制相似问题