我正在尝试将每个文本字符包装在
中<div id="test"></div>
带有span标记。 没问题,只是我还需要保持嵌套标签不被修改。
所以如果DIV中的字符串是:
"Some random text, <b>but</b> wait - there's <a href="http://w3.org">tags</a> inside!"
它应该输出“but”部分
<b><span>b</b><span>u</span><span>t</span></b>
离开&lt; B个和&lt;一个&GT;标签,但包括所有其他字符在跨度。我检查了text(),但似乎没有办法保留标签或“保存回来”,只提取文本并永久删除&lt; B个和&lt;一个&GT;
也许有些jQuery大师知道如何做到这一点?
答案 0 :(得分:6)
您可以使用以下代码执行此操作:
$("div").children().andSelf().contents().each(function(){
if (this.nodeType == 3) {
var $this = $(this);
$this.replaceWith($this.text().replace(/(\w)/g, "<span>$&</span>"));
}
});