Sélection de plusieurs éléments avec querySelectorAll
J'ai ce bout de code:
var requiredFields = el.querySelectorAll("input[required]:not(:disabled):not([readonly]):not([type=hidden])");
Si je veux ajouter la textarea
et select
à la requête je termine avec ceci:
var requiredFields = el.querySelectorAll("input[required]:not(:disabled):not([readonly]):not([type=hidden])"+
",select[required]:not(:disabled):not([readonly]):not([type=hidden])"+
",textarea[required]:not(:disabled):not([readonly]):not([type=hidden])");
Mon sentiment dit que cela pourrait être mieux.. mais comment?
Bonus: Merci de me donner une bonne ressource pour querySelectorAll fonction.
Pour info, select et textarea éléments n'ont pas n'importe quel type d'attribut.
Qu'est-ce que le var
Vous avez raison, CopyPasta restes. @Kevin
Vous pouvez simplement de les sélectionner tous et effectuer la vérification pour l'/désactivé/en lecture seule lors de l'itération sur les éléments.
Qu'est-ce que le var
el
?Vous avez raison, CopyPasta restes. @Kevin
el
= document.corps.Vous pouvez simplement de les sélectionner tous et effectuer la vérification pour l'/désactivé/en lecture seule lors de l'itération sur les éléments.
OriginalL'auteur A1rPun | 2013-12-19
Vous devez vous connecter pour publier un commentaire.
Comme l'Ombre de l'Assistant dit, au minimum, vous pouvez supprimer l'inutile
:not([type=hidden])
dans les différents lieux qu'il n'a pas de sens (select
ettextarea
).Je ne vois pas le problème avec le résultat de:
...et pas des moindres puisqu'il remet le tout pour le sélecteur moteur de profiter de toute optimisation, il peut le faire.
Alternativement de vous donner toutes les entrées d'une classe commune, et ensuite utiliser:
...mais je ne suis pas sûr qu'il vous achète beaucoup.
Il y a la spécification. MDN est aussi généralement un bon endroit pour ce genre de choses.
OriginalL'auteur T.J. Crowder
querySelectorAll
OriginalL'auteur GLES