jQuery elke invoer heeft Class

Voor mijn behoeften die ik gebruik

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

is er een betere manier om de voorwaarde if niet te gebruiken om te controleren of de invoer de klasse 'donot' heeft?

Bedankt voor je hulp...

Chris

8

2 antwoord

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

En daar ga je :-D

Documenten voor : niet() selector


Of u kunt ook doen:

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

Documenten voor .not()

8
toegevoegd
Elegant ! Bedankt
toegevoegd de auteur Chris, de bron
@ user1080344 geen probleem ^ _ ^ blij om te helpen :-D
toegevoegd de auteur Neal, de bron

Probeer dit en ook heb je niet elke lus nodig om dit te doen.

$('#form input:not(.donot)').attr('disabled', 'disabled');
2
toegevoegd
+1 Ha! dat is waar :-P daar heb ik zelfs niet aan gedacht.
toegevoegd de auteur Neal, de bron
Dit is het juiste antwoord.
toegevoegd de auteur harpo, de bron