将多个UL组合到一个UL中

bre*_*ezy 4 jquery

如何将多个uls 组合成一个ul

例如,我如何结合以下内容.

<ul>
 <li>one</li>
 <li>two</li>
</ul>

<ul>
 <li>three</li>
</ul>

<ul>
 <li>four</li>
</ul>

<ul>
 <li>five</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

对于这样的事情

<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
  <li>four</li>
  <li>five</li>
</ul>
?
Run Code Online (Sandbox Code Playgroud)

Bla*_*ger 16

关于伟大的事情.append(),并.appendTo()是,他们将移动而不是复制它们正如你所预料的现有DOM元素:

$('ul').children('li').appendTo('ul:first'); // move all LIs to the first UL
$('ul').not(':first').remove(); // delete the extra ULs
Run Code Online (Sandbox Code Playgroud)

'ul'根据需要自定义选择器; 我建议使用公共类而不是通用标记选择器.

http://jsfiddle.net/j76Lu/

略微更优化(谢谢,adeneo):

$('ul').not(':first').remove().children('li').appendTo('ul:first');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/j76Lu/1/

甚至更好:

$('ul:gt(0)').remove().children('li').appendTo('ul:eq(0)');
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/j76Lu/2/