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);