jQuery - 删除HTML中的自闭标签

Pau*_*dke 2 html jquery replace kentico

我正在为一个网站导航,该网站由几个包含链接列表的jQuery手风琴组成,如下所示:

<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>
Run Code Online (Sandbox Code Playgroud)

基于某种原因,构建站点的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>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法<li />使用jQuery从HTML中查找和删除所有标签.谢谢!

编辑:我忘了提,这只出现在IE7中.在IE8/9中,浏览器具有<li></li>HTML,但它不会将这些标记呈现为任何内容.该<li />标签会影响IE7的布局(它看起来像它被呈现为一个块级元素,所以它推它下面的内容向下).

Mar*_*c B 6

$('li:empty')会找到所有空<li>标签.然后.remove()应该核他们.