jQuery hasClass有条件

时间:2011-10-26 22:16:48

标签: javascript jquery

仅当点击的元素没有类agalleryaslide时,才应满足条件。这不适合我。

if(!$(this).hasClass('agallery') || !$(this).hasClass('aslide')){
  //do certain things
}

3 个答案:

答案 0 :(得分:6)

if(!($(this).hasClass('agallery') || $(this).hasClass('aslide'))){

基本上,你应该把它读作“不是(A或B)”,而Clive的等价物是“(不是A)和(不是B)”。

您的情况“(不是A)或(不是B)”如果没有,则为真。所以只有两个类都是假的。

答案 1 :(得分:2)

请尝试使用&&

if(!$(this).hasClass('agallery') && !$(this).hasClass('aslide')){
  //do certain things
}

答案 2 :(得分:2)

还有一种非jQuery方式直接在类名上使用正则表达式:

if (!this.className.match(/\bagallery\b|\baslide\b/)) {
    // do certain things
}