7

在我的网络浏览器用户脚本项目中,我只需要替换一个文本节点,而不会影响与文本相同的父节点下的其他 HTML 元素。我需要用多个节点替换它:

<div id="target"> foo / bar; baz<img src="/image.png"></div>

需要变成:

<div id="target"> <a href="#">foo</a> / <a href="#">bar</a>; <a href="#">baz</a><img src="/image.png"></div>

我知道 jQuery 对文本节点的支持并不多。我知道我可以使用直接 DOM 调用而不是 jQuery。而且我知道我可以做一些我不想改变$('#target').html(的新东西。另请注意,我想保留初始空间,这本身似乎很棘手。+)

我想问这里的专家,有没有最惯用的 jQuery 方法来做到这一点?

4

3 回答 3

10
于 2012-10-12T04:01:00.963 回答
1
于 2012-10-12T03:40:07.033 回答
0

试试这个..编辑版本

$('#target').html('<a href="#">mixed</a> text <a href="#">and</a> HTML' + $('#target').html());
于 2012-10-12T03:26:17.817 回答