Comment trouver un parent avec une classe en jQuery?
J'ai un <div>
qui a de nombreux autres <div>
s en son sein, tous à différents niveau d'imbrication. Plutôt que de donner à chaque enfant <div>
un identifiant, j'ai plutôt juste de donner à la racine <div>
l'identificateur. Voici un exemple:
<div class="a" id="a5">
<div class="b">
<div class="c">
<a class="d">
</a>
</div>
</div>
</div>
Si j'écris une fonction jQuery pour répondre à la classe d
et je veux trouver l'ID pour son parent, classe a
, comment pourrais-je faire cela?
Je ne peux pas simplement faire $('.a').attr('id');
, parce qu'il y a plusieurs classe a
s. J'ai pu trouver son parent parent parent de l'ID, mais qui semble de mauvaise conception, lent, et pas très polymorphes (je devrais écrire un code différent pour trouver l'ID de classe c
).
Vous devez vous connecter pour publier un commentaire.
En supposant que
this
est.d
, vous pouvez écrireLa
proche
méthode renvoie au plus profond du parent de votre élément qui correspond au sélecteur.Passer un sélecteur jQuery les parents fonction:
MODIFIER Hmm, en fait Slaks de réponse est supérieur si vous voulez seulement le plus proche ancêtre qui correspond à votre sélection.
Vous pouvez utiliser les parents() pour obtenir tous les parents avec le sélecteur de donnée.
Mais parent() obtiendront le premier parent de l'élément.
jQuery parent() vs parents()
Et il est .parentsUntil() qui, je pense, sera le meilleur.
closest
.Utilisation .parentsUntil()