【问题标题】:How do I use hasClass to detect if a class is NOT the class I want?如何使用 hasClass 来检测一个类是否不是我想要的类?
【发布时间】:2010-12-23 19:01:56
【问题描述】:

我如何使用 hasClass 使其与 doesNotHaveClass 一样工作?换句话说,与其查看它是否是指定的类,不如查看它是否不是指定的类。我可以使用感叹号之类的吗?

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    是的,你可以。

    if (!$('element').hasClass('do-not-want')) {
        // This element does not have the .do-not-want class
    }
    

    【讨论】:

      【解决方案2】:

      但是,如果您尝试使用选择器来查找所有没有类的项目,不妨试试这个:

      // find all divs that don't have "badClass" class    
      $('div').not('.badClass').each(function(){}); 
      

      【讨论】:

      • +1 在旁注中,纯选择器语法是div:not(.badClass)
      • 谢谢!这实际上真的很好知道 - 有这么多高级选择器,我通常只是将它们链接到非性能密集型代码中。 :not 语法绝对是我会记住的语法!
      【解决方案3】:
      if (!$('a').hasClass('xyz')){
        ...
      }
      

      【讨论】:

        【解决方案4】:

        是的,你可以 根据 jQuery 文档:

        如果将类分配给一个元素,.hasClass() 方法将返回 true,即使其他类也是如此。

        由于函数返回布尔值,您可以使用感叹号来否定结果。

        【讨论】:

          【解决方案5】:

          你可以检查返回是否为假:

          if($(element).hasClass("class") === false) {...}
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-08-01
            • 2014-09-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-10-21
            相关资源
            最近更新 更多