我正在尝试清理另一个程序生成的项目符号列表,该程序创建了不必要的嵌套列表。我需要删除它们。这里有2个例子......<!DOCTYPE html><html><head> <title>Document</title></head><body> <ul> <ul> <li> <ul> <li>List Item 1</li> <li>List Item 2</li> </ul> </li> </ul> </ul> <ul> <li> <ul> <li> <ul> <li> <ol> Prep Steps <li>Step 1</li> <li>Step 2</li> <li>Step 3</li> </ol> <ul> Other things to note <li>Another LI 1</li> <li>Another LI 2</li> <li>Another LI 3</li> </ul> </li> </ul> </li> </ul> </li></ul> <script src="https://code.jquery.com/jquery-3.5.0.js"></script></body></html>我需要找到具有有效列表项上下文(任何文本)的 ul/ol 并删除围绕它们的所有无关的 ul。为此,我试图找到具有列表项的最深的 ul。我尝试了一些类似的选择器$("ul:has(li)"),但这也返回了所有父 uls。
1 回答

狐的传说
TA贡献1804条经验 获得超3个赞
尝试这个:
$('ul,ol').not(':has(ul,ol)')
$('ul,ol').not(':has(ul,ol)').each((index,list) => console.log(list));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<ul>
<li>
<ul>
<li>List Item 1</li>
<li>List Item 2</li>
</ul>
</li>
</ul>
</ul>
<ul>
<li>
<ul>
<li>
<ul>
<li>
<ol>
<li>Another LI 1</li>
<li>Another LI 2</li>
<li>Another LI 3</li>
</ol>
</li>
</ul>
</li>
</ul>
</li>
</ul>
添加回答
举报
0/150
提交
取消