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

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

当前回答

选择类为“abc”而非“xyz”的元素(或元素组):

    $('.abc:not(".xyz")')

当选择常规CSS时,你可以使用.abc:not(.xyz)。

其他回答

使用.not()方法检查属性:

$('p').not('[class]');

点击这里查看:http://jsfiddle.net/AWb79/

对于问题中的情况,Sdleihssirhc的答案当然是正确的,但如果你需要选择没有特定类的元素,你可以使用not选择器:

// select all divs that don't have class test
$( 'div' ).not( ".test" );
$( 'div:not(.test)' );  // <-- alternative 

选择类为“abc”而非“xyz”的元素(或元素组):

    $('.abc:not(".xyz")')

当选择常规CSS时,你可以使用.abc:not(.xyz)。

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

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

在更复杂的情况下,这种方法行不通。如果你想选择一个不包含类B元素的类A元素怎么办? 你最终需要的是:

如果父元素不包含子元素;jQuery