删除空的span标签,但保留带有以下li标签的标签

时间:2014-02-16 13:07:19

标签: jquery

我正在使用一个模拟milonic菜单的脚本,并用数据填充我的空HTML。我需要删除脚本运行后留下的一些空标签。

我用它来删除所有带有空标记的li标记

$("li span:empty").parent().remove(); // REMOVE UNUSED LI TAGS

但我刚注意到有一些li标签在其中填充了额外的li标签,虽然跨度为空,但我需要保留该li标签。这是HTML

<li class="division00"> <!----- KEEP EMPTY SPAN THAT HAS LI.SINGLE TAG ------>
    <span></span>
    <li class="single">
        <ul></ul>
    </li>


<li class="division01"> <!----- REMOVE ALL LI TAGS THAT HAVE EMPTY SPAN CLASSES ------>
    <span></span> 
        <ul></ul>
    </li>

<li class="division02"> <!----- REMOVE ALL LI TAGS THAT HAVE EMPTY SPAN CLASSES ------>
    <span></span> 
        <ul></ul>
    </li>

<li class="division03"> <!----- DO NOT REMOVE ------>
    <span>TEXT HERE</span> 
        <ul></ul>
    </li>

1 个答案:

答案 0 :(得分:3)

假设您的HTML有效,请尝试

$('#myul > li').not(':has(li.single)').has('> span:empty').remove()

演示:Fiddle