把李换成另一个李

时间:2014-04-15 09:13:17

标签: javascript jquery

我有以下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>');

但它正在将个人李某变成另一个李。请帮忙

2 个答案:

答案 0 :(得分:7)

在此上下文中您需要的只是.wrapAll()

尝试,

$('ul li:not(:first)').wrapAll('<li><ul></ul></li>');

DEMO

答案 1 :(得分:0)

试试这个

根据我的说法,我们应该避免:第一个伪类,因为在很多情况下这不起作用所以尝试下面的代码

 $(function(){

$('ul li').eq(0).addClass('hi');

$('li').not('.hi').wrapAll('<ul><li></li></ul>');

});