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()[3]

これが私の最初の答えです。

于 2013-03-21T16:52:37.917 に答える
0

'//p/text()[contains(.,"https")]/..'要素を選択するために機能するようでp、正規表現の検索とpの innerHTML の置換により、プロセスが完了します。

于 2013-03-21T17:23:04.580 に答える