2012-01-02 8 views
38

Ho questo selettore di sotto dove si ignora qualsiasi li con la classe show-all-boxesCome ignorare più classi usando il: non selettore?

$('.boxes li:not([class="show-all-boxes"]) input:checkbox') 

Qual è il modo migliore di aggiungere più classi a essere ignorato dal selettore? Un esempio di questo che ho pensato che avrebbe funzionato, ma non fa è:

$('.boxes li:not([class="show-all-boxes, show-all-circles, show-all-triangles"]) input:checkbox') 

risposta

64

L': Non selettore può prendere più selettori CSS come argomenti (http://api.jquery.com/not-selector). Per esempio.

$('div:not(.a,.b)').empty() 

http://jsfiddle.net/HFfcP/

+0

+1 fresco grazie Thong! –

+0

nessun problema Cecil. btw, il tuo secondo codice non funzionava perché sembra che stia cercando di far corrispondere tutti i 'li's che non hanno la classe" show-all-box, show-all-circles, show-all-triangles "(virgole e tutti). http://jsfiddle.net/56uKS/ –

+0

grazie amico, lo terrò a mente la prossima volta! –

5

provare questo:

$('.boxes li').not(".show-all-boxes, .show-all-circles, .show-all-triangles").find('input:checkbox') 
Problemi correlati