60 votes

jQuery, obtenez l'ID de chaque élément d'une classe en utilisant .each?

J'essaie ceci pour obtenir le id de chaque élément dans un class mais au lieu de cela il alerte chaque nom de la classe séparément, donc pour class="test" c'est alertant: t , e , s , t ... Des conseils sur la façon d'obtenir chaque élément id cela fait partie du class est apprécié, car je n'arrive pas à comprendre cela .. Merci.

 $.each('test', function() { 
   alert(this)
});
 

140voto

user113716 Points 143363

Essayez ce, en remplacement de .myClassName par le nom de la classe (mais gardez-la période au début).

$('.myClassName').each(function() {
    alert( this.id );
});

Donc, si la classe est "test", vous feriez $('.test').each(func....

C'est la forme spécifique de l' .each() qui effectue une itération sur un objet jQuery.

La forme que vous étiez à l'aide de itère sur tout type de collection. Vous étiez donc essentiellement une itération sur un tableau de caractères t,e,s,t.

En utilisant cette forme d' $.each(), vous devez faire comme ceci:

$.each($('.myClassName'), function() {
    alert( this.id );
});

...qui aura le même résultat que l'exemple ci-dessus.

25voto

jessegavin Points 20854

La réponse de Patrick DW est exacte.

Pour les coups de pied et les rires, je pensais publier un moyen simple de renvoyer un tableau de tous les identifiants.

 var arrayOfIds = $.map($(".myClassName"), function(n, i){
  return n.id;
});
alert(arrayOfIds);
 

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