126 votes

JQuery: Sélection par classe et type d'entrée

Je voudrais sélectionner un ensemble d'éléments qui sont à la fois d'un certain type d'entrée (disons, une case à cocher) et ont une certaine classe en utilisant jQuery. Cependant, lorsque j'essaie ce qui suit :

 $("input:checkbox .myClass")

Je ne reçois aucun élément retourné. Comment puis-je accomplir cela en jQuery ?

220voto

Paolo Bergantino Points 199336

Votre sélecteur recherche tous les descendants d'un élément checkbox qui ont une classe de .myClass.

Essayez plutôt ceci:

$("input.myClass:checkbox")

Vérifiez-le en action.

J'ai aussi testé ceci:

$("input:checkbox.myClass")

Et cela fonctionnera également correctement. À mon humble avis, cette syntaxe semble vraiment assez laide, car la plupart du temps je m'attends à ce que les sélecteurs de style : soient les derniers. Comme je l'ai dit, cependant, les deux fonctionneront.

59voto

BaroqueBobcat Points 6788

Si vous voulez obtenir les entrées de ce type avec cette classe, utilisez :

$("input.myClass[type=checkbox]")

la syntaxe du sélecteur [] vous permet de vérifier n'importe quel attribut des éléments. Consultez la spécification pour plus de détails

6voto

Akhil Chandran Points 93

Vous devriez utiliser le nom de la classe comme ceci

$(document).ready(function(){
    $('input.addCheck').prop('checked',true);
});

Essayez d'utiliser ceci dans un démo en direct

6voto

eKek0 Points 9861

Vous devez utiliser (pour les cases à cocher) :checkbox et l'attribut .name pour sélectionner par classe.

Par exemple:

$("input.aclass:checkbox")

Le sélecteur :checkbox:

Correspond à tous les éléments input de type case à cocher. Utiliser ce pseudo-sélecteur comme $(':checkbox') est équivalent à $('*:checkbox') qui est un sélecteur lent. Il est recommandé de faire $('input:checkbox').

Vous devriez lire la documentation de jQuery pour en savoir plus sur les sélecteurs.

3voto

Fabio Padua Points 31

Essayez ceci :

$("input:checkbox").hasClass("myClass");

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X