如何将第三级 li 元素向上移动并删除 ul?
我有一个相当大的三级深菜单,由嵌套列表组成,如本示例所示
<ul class="nav">
<li><a href="#">1</a>
<ul>
<li><a href="#">2</a>
<ul>
<li><a href="#">level 3</a></li>
<li><a href="#">level 3</a></li>
<li><a href="#">level 3</a></li>
</ul>
</li>
<li><a href="#">2</a>
</ul>
</li>
</ul>
对于菜单,我只想使用两个级别,因此我想删除第三个 ul 并添加一个出于样式目的而对其(以前的)子级进行分类。
这可以用 jQuery 来完成吗?结果应该类似于:
<ul class="nav">
<li><a href="#">1</a>
<ul>
<li><a href="#">2</a></li>
<li class="third"><a href="#">level 3</a></li>
<li class="third"><a href="#">level 3</a></li>
<li class="third"><a href="#">level 3</a></li>
<li><a href="#">2</a></li>
</ul>
</li>
</ul>
感谢任何帮助!
I have a fairly large, three level deep, menu consisting of nested lists like in this example
<ul class="nav">
<li><a href="#">1</a>
<ul>
<li><a href="#">2</a>
<ul>
<li><a href="#">level 3</a></li>
<li><a href="#">level 3</a></li>
<li><a href="#">level 3</a></li>
</ul>
</li>
<li><a href="#">2</a>
</ul>
</li>
</ul>
For the menu I would like to work with two levels only so I would like to remove the third ul
and add a class to its (former) children for styling purposes.
Can this be done with jQuery? The result should be looking something like:
<ul class="nav">
<li><a href="#">1</a>
<ul>
<li><a href="#">2</a></li>
<li class="third"><a href="#">level 3</a></li>
<li class="third"><a href="#">level 3</a></li>
<li class="third"><a href="#">level 3</a></li>
<li><a href="#">2</a></li>
</ul>
</li>
</ul>
Any help is appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
应该这样做:
对于每个第三级 UL 元素,在 UL 的父元素之后插入所有子 LI 元素,然后删除 UL 本身。
This should do it:
For every third level UL element, insert all child LI elements after the UL's parent element, then remove the UL itself.