我不知道该怎么做,所以这就是我的困境:
我的div里面有常规文字。然而,在其中添加了一些js跨度之后。但我想将现有文本包装在span标签中。我如何将跨度包装到已经不在跨度的文本中?
<div class="about">
This text isn't wrapped in an html tag
<span>But this is</span>
</div>
如何通过jquery将常规文本包装到span标签中?
提前感谢您的帮助。
答案 0 :(得分:4)
您可以使用jQuery的.contents
获取文本节点,如果它们是已检查节点的文本节点子节点,则将它们包装起来。
$(".about").contents().filter(function () {
return this.nodeType === 3 && this.parentNode == $(".about").get(0);
}).wrap("<span>");
答案 1 :(得分:0)
这可以通过跨越整个事物来实现:
$("div").html("<span>" + $("div").html() + "</span>");