javascript - 使用 jQuery 修复无效的嵌套列表

标签 javascript html jquery

我留下了一大堆遗留的 HTML。我有多个列表,其中包含尚未合并到列表项中的子列表,尽管这可以正确呈现,但它仍然会导致可访问性测试出现问题。是否有一个 jQuery 方法可以让我纠正这个问题,直到我可以说服内容提供者正确地做到这一点?

<ul>
    <li>list</li>
    <li>list</li>
       <ul class="shouldBeSublist">
        <li>list</li>
        <li>list</li>
        <li>list</li>
      </ul>
    <li>list</li>
</ul>
最后一次失败的尝试...
$("ul ul").append(function () {
                return this.closest("li");
});
想要的结果...
<ul>
    <li>list</li>
    <li>list
       <ul class="shouldBeSublist">
        <li>list</li>
        <li>list</li>
        <li>list</li>
      </ul>
    **</li>**
    <li>list</li>
</ul>

最佳答案

只选择列表的子列表并使用 jQuery 的 appendTo()将它们移动到上一个列表元素的方法:

$('ul > ul').each(function() {
  $(this).appendTo($(this).prev('li'));
});
https://api.jquery.com/appendto/
Demo

关于javascript - 使用 jQuery 修复无效的嵌套列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63414046/

相关文章:

javascript - 单击时删除添加的行之一

javascript - priv/static/js/app.js 在更改 Vue 文件时随机更新 - Phoenix/Elixir/Vue.js

java - 在 AngularJS 代码中使用 JSP C 标签

javascript - 如何将 html 标签添加到 Angular 中 Quill 文本编辑器的内容 div?

javascript - 在asp.net中的一个页面中显示多个内容

javascript - 使用 CSS 或 JS 文本区域中的段落缩进

javascript - 样式表 - 不加载网页

javascript - 如何禁用 div 元素内的 anchor 标记 onclick 事件?

javascript - 页面加载期间显示菜单栏

javascript - 为什么我不能选择所有具有存储在变量中的属性值的元素?