jQuery - 删除 HTML 中的自闭合标签

标签 jquery html replace kentico

我正在为一个网站设计导航,该网站由多个包含链接列表的 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/

相关文章:

javascript - 图像 slider 中的最后一个图像在 mouseenter 上跳跃

javascript - 我在 html 中还有多少滚动条?

javascript - jQuery - 不适用于输入类型搜索

javascript - 重置表格( react 形式)

javascript - 使用正则表达式用修改后的数字替换字符串中的数字 - Javascript

mysql - 如何删除 mysql 查询中的尾随或前导字符?

javascript - jQuery - 如果浏览器选项卡获得焦点,则执行 AJAX - 不起作用

javascript - 在 Meteor 应用程序中添加 jQuery 脚本的位置

html - CSS/HTML 2x2 网格问题

php - 下载文件时将 %20 替换为空格?