【发布时间】:2011-12-12 01:35:53
【问题描述】:
我如何检查是否没有课程。例如,我知道如何检查它是否有“test”类,但是如何检查它是否没有“test”类?
if($(this).hasClass("test")){
}
【问题讨论】:
我如何检查是否没有课程。例如,我知道如何检查它是否有“test”类,但是如何检查它是否没有“test”类?
if($(this).hasClass("test")){
}
【问题讨论】:
if (!$(this).hasClass("test")) {
【讨论】:
if($(this).is(":not(.test)")) >:)
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)。
【讨论】:
在更复杂的情况下,这不起作用。如果你想选择一个类 A 的元素不包含类 B 的元素怎么办。 你最终需要更多类似的东西:
If parent element does not contain certain child element; jQuery
【讨论】:
在 6 年后阅读这本书,并认为我也会对它进行破解,也是在 TIMTOWTDI 静脉...:D,希望这不是不正确的“JS 礼仪”。
我通常会设置一个带有条件的 var,然后稍后再引用它..i.e;
// 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) : '' ;
【讨论】:
你可以试试这个:
<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.
});
【讨论】:
我不知道为什么,但接受的答案对我不起作用。相反,这有效:
if ($(this).hasClass("test") !== false) {}
【讨论】:
试试这个。
if (!$(object).hasClass("className")) {
}
【讨论】: