我在页面中有以下html:
<p>foo
<br>bar
<!--additional br elements of variable number-->
<br>https://example.com
<!--additional br elements of variable number-->
<br>baz
</p>
链接以纯文本显示,我需要将其链接。
这不会产生任何匹配:
document.evaluate( '//*[contains(text(),"https")]' ,document,
null, XPathResult.FIRST_ORDERED_NODE_TYPE, null ).singleNodeValue;
如果我使用'//text()[contains(.,"https")]'
,我会获得整个文本,但不会引用我可以修改的DOM元素(用于在其周围添加<a>
元素,以便可以点击。)
如何以我可以修改它的方式选择包含此纯文本URL的元素?
答案 0 :(得分:0)
/p/text()[3]
这是我的第一个答案。
答案 1 :(得分:0)
似乎'//p/text()[contains(.,"https")]/..'
可用于选择p
元素,然后在p
的innerHTML上进行正则表达式搜索和替换将完成此过程。