gpt4 book ai didi

jQuery 将每个 X 元素包装在 div 中

转载 作者:行者123 更新时间:2023-12-03 22:39:07 26 4
gpt4 key购买 nike

我有一个由 H3 标签开头的元素(div)列表

<h3></h3>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<h3></h3>
<div class="item"></div>
<div class="item"></div>

等等...

使用 jQuery,我想将每 3 个 div(或更少)分组,然后是每个 h3,如下所示:

<h3></h3>
<div class=row>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<div class=row>
<div class="item"></div>
</div>
<h3></h3>
<div class=row>
<div class="item"></div>
<div class="item"></div>
</div>

我尝试了这里提出的解决方案:Insert <div> for every 5 elements using Javascript但它显然将所有 div 分组。我也尝试使用 ~ 选择器但没有成功:

var a = $('h3 ~ div.item');

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

任何帮助将不胜感激。

最佳答案

我已经完成了这个并且它正在工作

$(function(){
var h3=$('h3');
h3.each(function(){
var divs=$(this).nextUntil('h3');
var row_wreapper=$('<div></div>');
while(divs.length)
{
var grp=divs.splice(0, 3);
var row=$('<div class="row"></div>');
$(grp).each(function(){
row.append($(this));
});
row_wreapper.append(row);
}
$(this).after(row_wreapper.html());
});
});​

DEMO或者对 itemDEMO. 进行一些额外检查

或者

$(function(){
var h3=$('h3');
h3.each(function(){
var divs=$(this).nextUntil('h3');
var row_wreapper=$('<div></div>');
while(divs.length)
{
var grp=divs.splice(0, 3);
var row=$(grp).wrapAll('<div class="row"></div>');
if(row.children().length) row_wreapper.append(row);
}
$(this).after(row_wreapper.html());
});
});​

DEMO.

关于jQuery 将每个 X 元素包装在 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376256/

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