如果没有课程,我该如何检查?例如,我知道如何检查它是否有类“test”,但我如何检查它是否没有类“test”?

if($(this).hasClass("test")){
}

当前回答

6年后我读了这篇文章,我想我也会用TIMTOWTDI的风格来写……:D,希望这不是不正确的“JS礼仪”。

我通常用条件设置一个变量,然后稍后再引用它。

// var set up globally OR locally depending on your requirements
var hC;

function(el) {
  var $this = el;
  hC = $this.hasClass("test");

  // use the variable in the conditional statement
  if (!hC) {
    //
  }
}

尽管我应该提到,我这样做是因为我主要使用条件三元运算符,并希望代码干净。所以在这种情况下,我所拥有的是:

hC ? '' : foo(x, n) ;
   // OR -----------
!hC ? foo(x, n) : '' ;

...而不是这样:

$this.hasClass("test") ? '' : foo(x, n) ;
   // OR -----------
(!$this.hasClass("test")) ? foo(x, n) : '' ;

其他回答

if (!$(this).hasClass("test")) {

我不知道为什么,这个公认的答案对我不起作用。相反,这种方法奏效了:

if ($(this).hasClass("test") !== false) {}

试试这个。

if (!$(object).hasClass("className")) {


}

你可以试试这个:

<div id="div1" class="myClass">there is a class</div>
<div id="div2"> there is no class2 </div>

$(document).ready(function(){
    $("#div2").not('.myClass');  // do not have `myClass` class.
});

6年后我读了这篇文章,我想我也会用TIMTOWTDI的风格来写……:D,希望这不是不正确的“JS礼仪”。

我通常用条件设置一个变量,然后稍后再引用它。

// var set up globally OR locally depending on your requirements
var hC;

function(el) {
  var $this = el;
  hC = $this.hasClass("test");

  // use the variable in the conditional statement
  if (!hC) {
    //
  }
}

尽管我应该提到,我这样做是因为我主要使用条件三元运算符,并希望代码干净。所以在这种情况下,我所拥有的是:

hC ? '' : foo(x, n) ;
   // OR -----------
!hC ? foo(x, n) : '' ;

...而不是这样:

$this.hasClass("test") ? '' : foo(x, n) ;
   // OR -----------
(!$this.hasClass("test")) ? foo(x, n) : '' ;