如何使用jQuery隐藏除最后一个(按类)之外的所有元素

Ric*_*hez 1 css jquery

我有一个看起来像这样的菜单(1个列表项作为示例):

<ul class="dyn makeLink" style="display: block;">
    <li id="licategory_1">
        <a href="/nfl-lines" title="" class="linkItem">
            <strong>NFL</strong>
        </a>
        <span class="expCollPos" >
            <span class="collapsed"></span>
        </span>
        <span class="expCollPos linkItem" >
            <span class="collapsed"></span>
        </span>
        <span class="expCollPos" >
            <span class="collapsed"></span>
        </span>
    </li>


    <li id="licategory_2">
    ... 
    </li>

</ul>
Run Code Online (Sandbox Code Playgroud)

由于一些奇怪的原因,3个跨度(.expCollPos),两个第一个与我无关,我正在尝试使用jQuery删除它们.

我试过用: $('.dyn li span.expCollPos:last-child').css("display", "none");

和其他几个 - 但它只是删除所有.expCollPos类.

难道我做错了什么?

(我得到了一个我必须编辑的代码,它看起来很可怕!javascript函数不清楚,CSS有太多"!important",我无法找到它是什么.)

Aru*_*hny 5

你想要隐藏除最后一个之外的所有内容,所以你必须说不是最后一个

$('.dyn li').find('span.expCollPos:not(:last)').hide();
Run Code Online (Sandbox Code Playgroud)