2012-10-10 17 views
8

followingcode zostanie wyzwolony alarm do zdarzenia click dla elementów z klasy = a.cssPauseAllOR atrybut = historyIDJQuery wiele selektorów „i” operator

$(document).on("click","a.cssPauseAll,[historyID]", function() { 
    alert($(this)); 

}); 

Jak mogę korzystać z wielu selektorów za pomocą operatora AND?

co oznacza, że ​​elementy o atrybucie a.cssPauseAll klasy ANDhistoryID?

Odpowiedz

8

Wystarczy wyjąć , z selektora:

$(document).on("click","a.cssPauseAll[historyID]", function() { 

historyID nie jest ważny atrybut można użyć data-* atrybut Zamiast:

$(document).on("click","a.cssPauseAll[data-historyid]", function() { 
+4

+1 dla wspomnieć atrybuty danych. –

+0

Nie rozumiem ... to dane - tylko konwencja? ponieważ działa bez niego – RollRoll

+1

@EdwinSoho Tak, to działa, ale powoduje, że dokument jest nieważny, atrybuty 'data- *' pozwalają przechowywać niestandardowe dane w dokumencie http://html5doctor.com/html5-custom-data-attributes/ – undefined

3

elementy z a.cssPauseAll klasa AND historyID atrybut

Użyj następującego selektora:

a.cssPauseAll[historyID] 

testowy to sam - http://jsfiddle.net/SrNDt/

Note: Przecinki oddzielne selektorów i dlatego zachowują się jako logiczną OR. Wyrażenia łańcuchów w jeden selektor zachowują się jak logiczne AND.

1

Spróbuj

$(document).on("click","a.cssPauseAll[historyID]", function() { 

Wystarczy wyjąć przecinek,

Powiązane problemy