2010-11-02 54 views
4

只是想弄清楚你怎麼能這樣jQuery OR Selector?

if (!(jQuery('#selector1 || #selector2').hasClass('some-class'))) { 
//code here 
} 

這不起作用現有的代碼,即中測試多種選擇,但不知道是否有什麼我可以做,使工作?

回答

12

只需選擇他們兩個,如果其中一方有類some-class,條件爲真:

if (!jQuery('#selector1, #selector2').hasClass('some-class')) { 
    //code here 
} 

或者,如果我誤解你的邏輯,你可以(而且應該,速度和簡單起見)打破這些成兩個:

if (!(jQuery('#selector1').hasClass('some-class') || jQuery('#selector2').hasClass('some-class'))) { 
    //code here 
} 
+0

非常感謝 - 是的,你添加的第二位代碼是我以後。謝謝 – Tom 2010-11-02 17:13:27

+0

查看我的答案,以減肥版... – hunter 2010-11-02 17:15:38

+0

@ hunter - 你的答案是不正確的,你正在檢查後裔的類(它效率低得多)。 – 2010-11-02 17:16:20

0
if ((!('#selector1').hasClass('some-class')) || (!('#selector2').hasClass('some-class'))) { 
//code here 
} 

爲什麼不這樣呢?

1

相當簡單,它是一個逗號;)

if (!(jQuery('#selector1 .some-class, #selector2 .some-class'))) { 
//code here 
} 
1

不,我知道的。也許只是做這樣的事情:

if((!$('#selectorid1').hasClass(class)) || (!$('#selectorid2').hasClass(class))){}