2010-12-23 7 views

risposta

43

Sì, è possibile.

if (!$('element').hasClass('do-not-want')) { 
    // This element does not have the .do-not-want class 
} 
3

Sì, è possibile Come per la documentazione di jQuery:

Il metodo .hasClass() restituisce true se la classe è assegnata a un elemento, anche se le altre classi sono anche.

Poiché la funzione restituisce un valore booleano, è possibile utilizzare il punto esclamativo per annullare il risultato.

4
if (!$('a').hasClass('xyz')){ 
    ... 
} 
7

Tuttavia, se si sta cercando di usare i selettori per trovare tutti gli elementi che non hanno una classe, forse provate questo:

// find all divs that don't have "badClass" class  
$('div').not('.badClass').each(function(){}); 
+3

+1 Su un lato nota la sintassi di selezione puro sarebbe 'div: non (.badClass)' – BoltClock

+0

Grazie! In realtà è davvero bello sapere - ci sono così tanti selettori avanzati che di solito li incateniamo in un codice non performante. The: not syntax è sicuramente quello che ricorderò comunque! –

0

è possibile controllare se il ritorno è falso:

if($(element).hasClass("class") === false) {...} 
Problemi correlati