Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 将多个UL合并为一个UL_Jquery - Fatal编程技术网

Jquery 将多个UL合并为一个UL

Jquery 将多个UL合并为一个UL,jquery,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
s组合成一个
ul

例如,我如何组合以下内容

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

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

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

<ul>
 <li>five</li>
</ul>
  • 一个
  • 两个
像这样的事情

<ul>
  <li>one</li>
  <li>two</li>
  <li>three</li>
  <li>four</li>
  <li>five</li>
</ul>
​
  • 一个
  • 两个

和的好处在于,它们将移动现有的DOM元素,而不是像您预期的那样复制它们:

$('ul').children('li').appendTo('ul:first'); // move all LIs to the first UL
$('ul').not(':first').remove(); // delete the extra ULs
根据需要定制
'ul'
选择器;我建议使用公共类而不是通用标记选择器

稍微优化(谢谢,):

或者更好:

$('ul:gt(0)').remove().children('li').appendTo('ul:eq(0)');
$('
    ')。追加($('ul')。删除()。子项('li'))。追加('body');

var newUl=$(“
    ”); $('ul')。每个(函数(){ $(this).find('li').each(function(){ newUl.append($(此)) }); $(this.remove(); }); $('selector').append(newUl);
@ahren,它会再次附加它们,但不会导致重复。@gpojd-是的,我现在看到了,删除了注释是的,不知道你可以删除元素,然后在下一个链中获得子元素。以前从未尝试过?如果我想在某个
li
下组合/合并
ul
s,该怎么办?例如,我想将
ul
s合并到第二个类下。你应该用新问题发布一个单独的问题。它必须排序吗?否则,您只需删除和之间的…就可以了@jtheman
$('ul:gt(0)').remove().children('li').appendTo('ul:eq(0)');
$('<ul />').append($('ul').remove().children('li')).appendTo('body');
var newUl = $('<ul>');    
$('ul').each(function() { 
       $(this).find('li').each(function() { 
            newUl.append($(this))
       });
       $(this).remove();
    });
$('selector').append(newUl);