JQuery替换除标签之外的div中的所有内容

时间:2016-03-17 13:33:09

标签: javascript jquery html

我必须替换所有div中的一些字符,但是当我运行代码时,该函数也替换了我的html标签字符

我的代码是:

$("#main").children().each(function() {
    $(this).html($(this).html().replace(/s/g, "K"));
})
<div id="main">
<p>Some contents that will be replaced... <span>this will not be in a span tag :(</span></p>
</div>

结果:

<div id="main">
<p>Kome contentK that will be replaced... <Kpan>this will not be in a Kpan tag :(</Kpan></p>
</div>

1 个答案:

答案 0 :(得分:3)

如果您的目标是保留div中的所有标记,但替换所有这些标记中的文本,则很难。您需要只找到文本节点而不是其他节点,并在每个文本节点中单独进行替换。

这个问题可能有所帮助:How do I select text nodes with jQuery?