我有这段 html 代码:
<p><span>h</span><span>o</span><span>l</span><span>a</span></p>
我正在使用它上面的 jQuery 来替换所有跨度:
$('p span').each(function(){
$(this).replaceWith($(this).text());
});
当我查看我的 DOM 时,我看到脚本为每个字母创建了4 个文本节点。我怎样才能防止这种情况发生?我只想要1 个文本节点!
注意:给定的示例非常非常简化。我实际上是这样做的:
<p>This is an <b>example</b>: <span>h</span><span>o</span><span>l</span><span>a</span>!</p>
这应该看起来像:
<p>{text}This is an {/text}<b>{text}example{/text}</b>{text}: hola!{/text}</p>
{text} 是一个 DOM 文本节点 :-)