gpt4 book ai didi

javascript - 将嵌套列表拆分为单独的列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:24:30 27 4
gpt4 key购买 nike

我有一个用于导航的嵌套列表。我如何使用 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');
}
});

这是一个 fiddle

http://jsfiddle.net/zEA5t/3/

最佳答案

这个简单的小代码可以做到:

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

fiddle :http://jsfiddle.net/zEA5t/6/

关于javascript - 将嵌套列表拆分为单独的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23342861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com