gpt4 book ai didi

jquery 添加或切片

转载 作者:行者123 更新时间:2023-12-01 07:02:23 25 4
gpt4 key购买 nike

我正在尝试将一定数量的元素包装在 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>');
}

但是它不起作用。我有 8 个 div。它应该将 3 个包裹在一起,所以我应该有 3 个新的 div,前 2 个中有 3 个,最后一个有 2 个,因为只有 8 个 div。但是,我在第一个新的 div 中得到了 3 个 div,然后接下来的 2 个 div 根本没有换行,然后是最后一个3 个 div 包含在一个新的 div 中。我不知道为什么它没有正确包裹它。您对如何做到这一点或者甚至更好的方法有什么想法吗?

最佳答案

您的代码无法正常工作,因为 children 正在更改。尝试在常量集上使用 slice:

var all = $('.test'); 
for(i=0; i < all.length; i += img_row) {
all.slice(i, i + img_row).wrapAll('<div class="row" />');
}

示例:http://jsbin.com/upaji

关于jquery 添加或切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2036612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com