1

我在页面中有以下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 的元素,然后可以对其进行修改?

4

2 回答 2

0

似乎这'//p/text()[contains(.,"https")]/..'将适用于选择p元素,然后在p的 innerHTML 上进行正则表达式搜索和替换将完成该过程。

于 2013-03-21T17:23:04.580 回答
0
/p/text()[3]

这是我的第一个答案。

于 2013-03-21T16:52:37.917 回答