我有一个用于导航的嵌套列表。如何使用Jquery将嵌套列表拆分为单独的列表,每个嵌套列表都分开,但将分开的列表与原始标题保持在一起?
的HTML:
<ul id="bigList">
<li><a href="#">Diary products</a>
<ul>
<li><a href="#">Milk</a>
<ul>
<li><a href="#">Goat</a></li>
<li><a href="#">Cow</a>
<ul>
<li><a href="#">Smelly</a></li>
<li><a href="#">Extra smelly</a></li>
</ul>
<li><a href="#">Soya</a></li>
</li>
</ul>
</li>
<li><a href="#">Eggs</a></li>
<li><a href="#">Cheese</a></li>
<li><a href="#">Pasta</a></li>
</ul>
</li>
</ul>
所需的输出:
<ul>
<li><a href="#">Diary Products</a>
<ul>
<li><a href="#">Milk</a></li>
<li><a href="#">Eggs</a></li>
<li><a href="#">Cheese</a></li>
<li><a href="#">Pasta</a></li>
</ul>
</li>
</ul>
<ul>
<li><a href="#">Milk</a>
<ul>
<li><a href="#">Goat</a></li>
<li><a href="#">Cow</a></li>
<li><a href="#">Soya</a></li>
</ul>
</li>
</ul>
<ul>
<li><a href="#">Cow</a>
<ul>
<li><a href="#">Smelly</a></li>
<li><a href="#">Extra smelly</a></li>
</ul>
</li>
</ul>
到目前为止的Javascript:
$(function () {
var $bigList = $('#bigList'),
group;
while ((group = $bigList.find('li:lt(20)').remove()).length) {
$('<ul/>').append(group).appendTo('body');
}
});
这是小提琴
这个简单的小代码可以做到:
var myList = $('<ul>');
var $originalList = $('#bigList');
$originalList.find('li:has(li)').each(function(){
var $this = $(this);
$this.clone().appendTo(myList).find('>ul >li >ul').remove();
})
$('body').append(myList);
小提琴:http : //jsfiddle.net/zEA5t/6/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句