2011-12-06 20 views
8

Per le mie esigenze Io usojquery ogni ingresso hasClass

$('#form :input').each(function(i) { 
    if (!$(this).hasClass('donot')) { 
     $(this).attr('disabled', 'disabled'); 
    } 
}); 

c'è un modo migliore non utilizzare il se la condizione per verificare se l'ingresso ha la classe 'donot'?

Grazie per il vostro aiuto ...

Chris

risposta

8
$('#form input:not(.donot)').each(function(i) { 
    $(this).attr('disabled', 'disabled'); 
}); 

E ci si va :-D

Docs for :not() selector


Oppure si può anche fare:

$('#form input').not('.donot').each(function(i) { 
    $(this).attr('disabled', 'disabled'); 
}); 

Docs for .not()

+0

Elegante! Grazie – Chris

+0

@ user1080344 nessun problema^_^felice di aiutare :-D – Neal

2

Prova questo e anche che non c'è nemmeno bisogno ogni ciclo di fare questo.

$('#form input:not(.donot)').attr('disabled', 'disabled'); 
+0

'+ 1' Ha! è vero :-P non ci avevo nemmeno pensato. – Neal

+0

Questa è la risposta corretta. – harpo

Problemi correlati