我正在为一个网站设计导航,该网站由多个包含链接列表的 jQuery Accordion 组成,如下所示:
<ul class="menu">
<li>
<h3>Header 1</h3>
<ul>
<li class="menuItem">Link 1</li>
<li class="menuItem">Link 2</li>
<li class="menuItem">Link 3</li>
</ul>
</li>
<li>
<h3>Header 2</h3>
<ul>
<li class="menuItem">Link 4</li>
<li class="menuItem">Link 5</li>
<li class="menuItem">Link 6</li>
</ul>
</li>
</ul>
出于某种原因,该网站所基于的 CMS 将任何空列表设置为自动关闭 <li>
标签,像这样:
<ul class="menu">
<li>
<h3>Header 1</h3>
<ul>
<li class="menuItem">Link 1</li>
<li class="menuItem">Link 2</li>
<li class="menuItem">Link 3</li>
</ul>
</li>
<li />
</ul>
我想知道是否有办法找到并删除所有 <li />
使用 jQuery 从 HTML 中提取标签。谢谢!
编辑: 我忘了说,这只出现在 IE7 中。在IE8/9中,浏览器有<li></li>
在 HTML 中,但它不会将这些标记呈现为任何内容。 <li />
标记会影响 IE7 中的布局(看起来它被呈现为 block 元素,因此它会将其下方的内容向下推)。
最佳答案
$('li:empty')
会发现所有空的 <li>
标签。然后 .remove()
应该对他们进行核武器攻击。
关于jQuery - 删除 HTML 中的自闭合标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12217078/