我正在尝试将一定数量的元素包装在div
. 问题是元素的数量可能会根据用户的输入而变化。所以元素的数量可以是 2、3、4 甚至更多。我有一个变量告诉我应该包装多少个元素。因此,例如,我的页面可能有这个:
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
现在我需要div
根据我的变量将它们包装在另一个中。所以,如果我的变量的值为 3,它看起来像这样:
<div class="testing">
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
</div>
<div class="testing">
<div class="test"></div>
<div class="test"></div>
<div class="test"></div>
</div>
我正在使用这段代码:
$(this).add($(this).next())
.add($(this).next().next())
.wrapAll('<div class="testing"></div>');
问题是我需要知道有多少元素将在那里。有没有动态的方法来做到这一点?我也看到了这个slice
功能并尝试像这样使用它:
for(var i=0;i<img_cnt;i+=img_row){
obj.children().slice(i,i+img_row).wrapAll('<div class="row"></div>');
}
但是,它不起作用。我有 8div
秒。它应该将 3 包装在一起,所以我应该有 3 个 new div
s,前 2 个和 2 个在最后一个,因为只有 8 个div
。但是,我div
在第一个 new 中得到 3 个div
,然后接下来的 2 个div
根本没有被包裹,然后最后 3 个div
被包裹在一个 new 中div
。我不确定为什么它没有正确包装。您对如何做到这一点或什至更好的方法有任何想法吗?