J'essaie de sélectionner tous les éléments input
d'une page, mais pas ceux de type image
, button
ou submit
. Ce qui m’est venu à l’esprit a d’abord été de sélectionner tous les éléments input
de type text
, puis tous de type checkbox
etc.
Cependant, ce n'est pas très élégant. Je me demandais s'il y avait une meilleure technique ici. Ce qui serait utile est un sélecteur comme input[type=text|checkbox|radio|password|etc]
, mais cela ne semble pas être disponible.
Je sais que je peux également sélectionner tous les input
et les filtrer à l'aide de .filter()
, mais existe-t-il un sélecteur plus générique permettant de sélectionner des éléments possédant l'un d'une liste d'attributs?
Puisque vous voulez tout inclure sauf quelques types particuliers, essayez ceci:
$('input:not([type=image],[type=button],[type=submit])')
$('input[type=text], input[type=checkbox], input[type=radio]').stuff();
ou (tiré des commentaires)
$('input:not([type=image],[type=button],[type=submit]')
En CSS, vous pouvez avoir des sélecteurs comme:
input[type=text],input[type=checkbox],input[type=radio],input[type=password]
peut-être que cela fonctionne aussi dans jQuery.
Je sais que c'est vieux, mais je pense que la meilleure solution élégante serait de leur donner une classe commune et de l'utiliser ensuite comme sélecteur?
Les réponses ci-dessus ne sont pas entièrement vraies.
Lorsqu'elles dépendent d'un identifiant (#), ces méthodes semblent échouer.
D'après mon expérience, nous devons ajouter l'ID pour chaque instruction or
.
Ainsi:
$('#id input[type=text], #id input[type=checkbox], ...