我試圖能夠檢查選擇器是否具有某些類的集合。檢查選擇器是否有一組類
.hasClass()只能檢查選擇器是否有一個類。 .is()選擇器可以查找多個類,但如果選擇器至少有一個類會返回true。
但我不想實現一種方法來檢查一個選擇器是否具有這兩個類,並且只有當它具有這兩個類時纔會執行操作。
任何指針?
我試圖能夠檢查選擇器是否具有某些類的集合。檢查選擇器是否有一組類
.hasClass()只能檢查選擇器是否有一個類。 .is()選擇器可以查找多個類,但如果選擇器至少有一個類會返回true。
但我不想實現一種方法來檢查一個選擇器是否具有這兩個類,並且只有當它具有這兩個類時纔會執行操作。
任何指針?
你可以簡單的列表中的類名:
.foo.bar.bar
這個選擇匹配有任何元素所有類別foo,bar和baz。
不$('div.class1.class2')
不做你以後在做什麼(即找到的Class1和Class2中任何DIV)
我不明白「hasClass」,「is」和類似的用例是如何相關的...... – 2010-04-19 15:04:29
@ T.J。 Crowder:它完全消除了hasClass&is的用法。 OP可以首先使用正確的選擇器,而不是使用/獲取所有div,然後檢查class1和class2。在第一個例子中,只需獲得class1和2的所有div。 – Jamiec 2010-04-19 15:08:58
我們以不同的方式閱讀問題。我讀到他已經擁有了這個東西(大概是其他一些操作的結果),現在想要測試它的類組合,*不*他希望去得到它。 – 2010-04-19 15:10:27
你可以簡單地做:
var $blah = $("blah");
if($blah.hasClass("test") && $blah.hasClass("othertest")){
// something
}
...或使用選擇
$(".test.othertest");
好了,也許我要舉例說明:( '後') \t \t功能checkFilter(){ \t \t \t \t \t $。每個(函數(){ \t \t \t \t \t \t \t \t \t如果($(本).hasClass( '攝影')&& $(本).hasClass( 'brindfors')){ \t \t \t \t \t \t $(this).show(); \t \t \t \t \t}其他{ \t \t \t \t \t \t $(本).hide(); \t \t \t \t \t} \t \t \t}); \t \t} 但在我的情況下,問題是,我要來檢查類(例如,攝影及brindfors)在這種情況正在改變數組...所以,如果我可以用hasClass(陣列),其本來是超級的。 基於這個例子的任何建議? – emilolsson 2010-04-19 15:14:32
@emilolsson請編輯您的問題與這些信息,它不是真正可讀的意見^^ – marcgg 2010-04-19 15:24:06
的是()函數應該爲你工作。
感謝您清除此!現在工作。 – emilolsson 2010-04-19 15:21:59
我認爲$.is('.class1.class2')
會做你想做的。例如,$('#foo').is('.a.b')
返回以下div
真的,但$('#foo').is('.a.c')
將返回false:
<div id="foo" class="a b"></div>
是不是你在找什麼?
是的,你是對的..我用()以錯誤的方式!感謝您的幫助...... – emilolsson 2010-04-19 15:20:10
這與他列出的用例有什麼關係?例如,想通過'hasClass','is'等查詢實例/列表? (如果他想要*獲得一個列表......這會適用)或者你可以將它傳遞給'hasClass'或其他東西? – 2010-04-19 15:05:20
@ T.J。克羅德:'。是( 「foo.bar.bar」)' – mcrumley 2010-04-19 15:15:04