给所有孩子围一个跨度

Wrap a span around all children

本文关键字:一个 孩子      更新时间:2023-09-26

我试图获得一个div的内容,并围绕它包装一个span,并追加回div。

从这个:

<div>
<a href="#">12</a>
Testing
</div>

:

<div>
<span>
<a href="#">Hehhehe</a>
Testing
</span>
</div>

所以我试了这个:

var span = $(document.createElement('span'));
var contents = window.jQuery(this).children();
span.append(contents);
window.jQuery(this).append(span); // I am looping here but this is the div

然而,文本"Testing"总是在span之外!

我怎样才能使所有的东西都在跨度内?

这应该是你想要的。

$('div').wrapInner('<span>');

在http://jsfiddle.net/gaby/76ND5/演示


如果在您的代码中this指的是有问题的div,那么您所需要的就是

$(this).wrapInner('<span>');

.children()不包含文本节点。使用.wrapInner在元素周围添加span