Existe-t-il un moyen de combiner $ (ceci) avec: nième-enfant?
-
12-11-2019 - |
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'...
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');
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