【问题标题】:Remove a CLASS for all child elements删除所有子元素的 CLASS
【发布时间】:2011-01-03 07:57:55
【问题描述】:

给定以下 HTML:

<div id="table-filters">
    <ul>
        <li class="active">blah</li>
        <li>blah</li>
        <li>blah</li>
        <li>blah</li>
    </ul>
</div>

使用 table-filters 作为 jQuery 选择器,我如何清除带有 CLASS=ACTIVE 的元素,无论它恰好在哪个 LI 上?

谢谢

【问题讨论】:

    标签: jquery css-selectors


    【解决方案1】:

    这应该可行:

    $("#table-filters>ul>li.active").removeClass("active");
    //Find all `li`s with class `active`, children of `ul`s, children of `table-filters`
    

    【讨论】:

    • 上述解决方案不适用于 chrome。所以,我只是将其更改为 $("#table-filters > li.active").removeClass("active");。时间。
    【解决方案2】:

    你也可以这样做:

      $("#table-filters li").parent().find('li').removeClass("active");
    

    【讨论】:

    • 这是可能的,但是对于 jQuery 来说更难处理,所以如果你指望快速响应,你应该使用上面的方法。另外,为什么要选择所有“li”,然后让父母找到“li”,然后删除活动类?有点没效率..
    • 正如我上面提到的,这是另一种方式。
    • 这对于选择器本身过于宽泛而您希望限制为单个 parent 元素的子元素时很有帮助。
    猜你喜欢
    • 2013-04-06
    • 2012-09-01
    • 2020-05-01
    • 2010-10-15
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 1970-01-01
    相关资源
    最近更新 更多