我的html生成如下:
<div class="tags">
<ul>
<li>Red</li>
<li>Green</li>
</ul>
<ul>
<li>Blue</li>
<li>Yellow</li>
</ul>
</div>
什么是去掉额外ul元素并凝聚成一个元素的最佳方法。例如:
<div class="tags">
<ul>
<li>Red</li>
<li>Green</li>
<li>Blue</li>
<li>Yellow</li>
</ul>
</div>
非常感谢
答案 0 :(得分:1)
可能有一种聪明的方法可以做到,但是简单的迭代应该让你到达那里:
$result = $('<ul></ul>');
$('ul').each(function() {
$(this).children('li').appendTo($result);
});
$('.tags').empty().append($result);
小提琴here
答案 1 :(得分:1)
$('.tags li').appendTo('.tags > ul:first-child');
$('.tags > ul:not(:first-child)').remove();
答案 2 :(得分:0)
答案 3 :(得分:0)
这是一个简单的答案
var thisUL = $('ul').eq(0);
$('li').each(function() {
$(this).appendTo(thisUL);
$('ul').each(function() {
var elem = $(this);
if (elem.children().length == 0) {
elem.remove();
}
});
});
答案 4 :(得分:0)
$('.tags ul:eq(0)' ) // targeting first ul
.append( $('.tags ul:gt(0) li') ) // append all children of other ul
.parent() // jump to .tags
.find('ul:gt(0)') // target all ul accept first
.remove(); // remove those ul
或强>
$('.tags').html($('<ul/>', {
html: $('.tags ul li')
}));