Javascript 将无序列表分组为3个子组
我有一组无序的列表,我试图将每个列表组动态划分为3个子组。到目前为止,我有:Javascript 将无序列表分组为3个子组,javascript,jquery,count,Javascript,Jquery,Count,我有一组无序的列表,我试图将每个列表组动态划分为3个子组。到目前为止,我有: var uls = $("ul > li"); for(var i = 0; i < uls.length; i+=3) { uls.slice(i, i+3).wrapAll("<ul class='new'></ul>"); } 但正如你所看到的,它还没有完全起作用。这是怎么回事 $('ul')。每个(函数(){ var uls=$(“li”,本); 对于(变量i=0;ili”
var uls = $("ul > li");
for(var i = 0; i < uls.length; i+=3) {
uls.slice(i, i+3).wrapAll("<ul class='new'></ul>");
}
但正如你所看到的,它还没有完全起作用。这是怎么回事
$('ul')。每个(函数(){
var uls=$(“li”,本);
对于(变量i=0;i”);
}
});
您得到错误分组的原因是因为您从收集每个li开始(“ul>li”等同于任何ul的所有li)。您应该做的是选择每个ul的子级的所有li,执行分组,然后转到下一个ul。这是怎么回事
$('ul')。每个(函数(){
var uls=$(“li”,本);
对于(变量i=0;i”);
}
});
您得到错误分组的原因是因为您从收集每个li开始(“ul>li”等同于任何ul的所有li)。您应该做的是选择每个ul的子级的所有li,执行分组,然后转到下一个ul。只是好奇。。。否决票是怎么回事?@AlecSanger ha?我没有看到任何反对票…那是因为我的上升票使它回到了0…@AlecSanger-我不知道为什么有人会反对,因为我有很好的记录,并且尝试过一些东西,他们甚至没有留下评论为什么他们反对它。谢谢,非常感谢。只是好奇。。。否决票是怎么回事?@AlecSanger ha?我没有看到任何反对票…那是因为我的上升票使它回到了0…@AlecSanger-我不知道为什么有人会反对,因为我有很好的记录,并且尝试过一些东西,他们甚至没有留下评论为什么他们反对它。谢谢,非常感谢。是的,完美>>注意:我想你的答案中没有正确的链接,这是我的旧链接。我发现这最终会在
中出现
标记,不确定这在语义上是否正确。我可以做:$('ul').unwrap()
这可以在事后删除多余的
原件,但我猜可能有更好的方法。是的,完美>>注意我想你的答案中没有正确的链接,这是我以前的链接。我发现这最终会在
中添加
标记,不确定这在语义上是否正确。我可以做:$('ul').unwrap()这可以在事后删除多余的原始文件,但我想可能有更好的方法。
<h2>Group 1</h2>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
<h2>Group 2</h2>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
</ul>
<h2>Group 1</h2>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
<ul>
<li>Item 4</li>
<li>Item 5</li>
</ul>
<h2>Group 2</h2>
<ul>
etc...
$('ul').each(function(){
var uls = $("li", this);
for(var i = 0; i < uls.length; i+=3) {
var lis = $("li", this);
uls.slice(i, i+3).wrapAll("<ul class='new'></ul>");
}
});