我有下面的ul列表。我想把最后三个li包装成另一个ul li标签。
我的html
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
我想要
<ul>
<li>1</li>
<li>
<ul>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</li>
</ul>
我的代码
$('ul li:not(:first)').wrap('<li></li>');
但它正在将单个李包装成另一个李。请帮助
在此上下文中,您只需要.wrapAll()
试试,
$('ul li:not(:first)').wrapAll('<li><ul></ul></li>');
演示
尝试这个
根据我的说法,我们应该避免:第一个伪类,因为在许多情况下这不起作用,所以尝试以下代码
$(function(){
$('ul li').eq(0).addClass('hi');
$('li').not('.hi').wrapAll('<ul><li></li></ul>');
});