【问题标题】:Apply class if it's not there [duplicate]如果不存在则应用课程[重复]
【发布时间】:2017-01-12 13:58:32
【问题描述】:

我有多个带有 common 类的元素。如果类不存在,如何检查每个元素并添加?

这就是我所做的,但不确定是否可以这样做。

$(".common").each(function(){
     if (!$(this).hasClass("test")) {
       //do some
     }
};

【问题讨论】:

  • $(:not(.common.test))你试过这样吗?

标签: javascript jquery


【解决方案1】:

更简单的方法是使用 :not() 伪类选择器更新您的选择器。

$(".common:not(.test)").each(function(){
   //do some
});

【讨论】:

    【解决方案2】:

    没有必要,这会将类添加到所有 .common 元素(如果不存在)

    $(".common").addClass("test");
    

    【讨论】:

    • 谢谢。我知道 addClass 是这样做的方法,但检查.each() 是否正确。
    • @Becky .each 在这种情况下毫无意义。当使用addClass 时,jQuery 会自动遍历与选择器匹配的每个元素——这就是我的观点。
    猜你喜欢
    • 2019-10-17
    • 2012-12-13
    • 2013-12-22
    • 2016-11-19
    • 2016-03-23
    • 2021-07-08
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多