jQuery包装列表,没有从类到类的ul-tag

时间:2013-07-08 14:45:24

标签: jquery list

我有这个HTML:

<li class="level2">
    <a  href="#" title="Betten">Betten</a>
</li>
<li class="level3">
    <a  href=#" title="">160cm</a>
</li>
<li class="level3">
    <a  href=#" title="">160cm</a>
</li>
<li class="level3">
    <a  href=#" title="">160cm</a>
</li>
<li class="level2">
    <a  href=#" title="">New Cat</a>
</li>

如何从.level2开始包装这些元素,所有.level3直到下一个.level2?

这不是很好:

$("li.level2").nextUntil("li.level2").andSelf().wrapAll('<ul>');

1 个答案:

答案 0 :(得分:1)

你可以循环完成。由于您的选择器将选择所有li.level2个元素而自己()将全部添加到包装中。另请注意, andSelf() 已弃用,请使用 addBack() 获取1.8 +。

$("li.level2").each(function(){
     $(this).nextUntil("li.level2").addBack().wrapAll('<ul>');
});

<强> Demo