web-dev-qa-db-fra.com

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 alerte: t, e, s, t... Un conseil 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)
});
57
Rick

Essayez ceci en remplaçant .myClassName Par le nom réel de la classe (mais conservez le point 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 .each() qui itère sur un objet jQuery.

Le formulaire que vous utilisiez itère sur tout type type de collection. Vous avez donc essentiellement parcouru un tableau de caractères t,e,s,t.

En utilisant that sous la forme de $.each(), vous devez le faire comme ceci:

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

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

134
user113716

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);
25
jessegavin