我有以下代码:
<span>Hello</span>
<span>Hello</span>
<span>Hello</span>
<span>Hello</span>
<span>Hello</span>
<span>Hello</span>
我想把它改成这样:
<div>
<span>Hello</span>
<span>Hello</span>
</div>
<div>
<span>Hello</span>
<span>Hello</span>
</div>
<div>
<span>Hello</span>
<span>Hello</span>
</div>
我该怎么做?
最佳答案
更新
改用此代码 - 它更通用,因为它不依赖于子元素在父元素中的定位:
var odds = $("span:odd");
var evens = $("span:even");
var i = 0;
odds.each(function () {
$(this).add(evens[i]).wrapAll('<div></div>');
i++;
});
<小时/>
通过网上搜索找到了答案:
$("span:nth-child(odd)").each(function () {
$(this).add($(this).next()).wrapAll('<div></div>');
});
span:nth-child(odd)
意味着每秒 <span>
被选中。 $(this).add($(this).next())
选择当前<span>
下一个,然后 .wrapAll
将它们集中在 <div>
中标签。
希望对你有帮助!
关于javascript - 如何在 jQuery 中包装两个元素的组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37245836/