Question

Je suis au milieu d'une itération. Et je voulais appeler le 2e ou le 3ème enfant pour le chacun ... mais je ne peux pas le faire fonctionner.

alert($(this + ' :nth-child(2)').attr('id'));

Ma seule option à laquelle je peux penser est quelque chose de terrible maladroit comme ceci:

 $(this).children(':first').next().attr('id', 'ddParam' + newCount);
 $(this).children(':first').next().next().attr('id', 'txt' + newCount);
 $(this).children(':first').next().next().next().attr('id'...
Était-ce utile?

La solution

Ce dont vous avez besoin est le contexte. Avec le contexte, le sélecteur ne recherchera que des éléments qui sont les enfants du contexte (dans ce cas this).

$(':nth-child(2)', this).attr('id');

démo jsfiddle

C'est fondamentalement le même que:

$(this).find(':nth-child(2)').attr('id');

Si vous n'avez besoin que des enfants directs, pas tous les descendant, vous devez utiliser .children():

$(this).children(':nth-child(2)').attr('id');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top