如何使用jquery将元素列表包装(分组)到另一个元素中?

时间:2011-06-23 09:14:16

标签: jquery

我有以下结构。

<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>

我可以将其转换为:

<uL>
    <li></li>
    <li></li>
    <li></li>
</ul
<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>

所以任务是将li分组为“行”。 1行总共有3个li,但行号总是不同。

有人知道,怎么做?感谢。

3 个答案:

答案 0 :(得分:5)

您可以使用wrapAll

执行此操作
var a = $('li');
do $(a.slice(0,3)).wrapAll('<ul />');   
while((a = a.slice(3)).length>0)

示例:http://jsfiddle.net/niklasvh/mZr4h/

答案 1 :(得分:4)

var i, num = 3, $ul = $('#ul'), $li = $('#ul > li');
for (i=0;i<$li.length;i+=num) {
    $li.slice(i,i+num).wrapAll('<ul />');
}
$ul.find('> ul').unwrap();

http://jsfiddle.net/Q2bYz/

答案 2 :(得分:1)

.wrap() api就是你要找的东西

相关问题