Considérez ci-dessous html -
<div class="container1">
<div class="container2">
<div class="container3">
<div class="container4">
<div class="element">
...
</div>
</div>
</div>
</div>
si je veux obtenir l'élément <div class="element">
et que j'ai une référence au container1
. En fait, ce que je fais est
$(".container1").find(".element")
au lieu de -
$(".container1").children().children().children().find(".element")
Ce processus permet de rechercher un élément enfant lorsque je fais référence à un élément parent. Mais au lieu de cela quand je fais référence à un élément enfant et que je veux obtenir un élément parent, chaque fois que je dois monter d'un niveau -
$(".element").parent().parent().parent().parent()
et je ne peux pas faire comme ça -
$(".element").findParent()
Je n'ai rencontré aucune méthode comme findParent () dans jQuery. Y a-t-il des choses dont je ne suis pas au courant? Ou n'est-ce pas là pour une raison quelconque?
$(".element").parents();
donnera à tous les parents de .element
(y compris html
et body
)}
Pour trouver un parent spécifique, supposons container1
puis
$('.element').parents('.container1')
jQuery .parents()
trouve généralement tous les parents, mais si vous avez passé un sélecteur, il le recherchera.
juste utiliser
$(".element").closest('#container1');
si aucun ancêtre avec cette id
n'est trouvé alors
$(".element").closest('#container1').length
sera 0
Pour obtenir le premier parent personnellement, j'utilise la construction suivante:
var count_parents = $(".element").parents().length;
$(".element").parents().eq(count_parents - 1);
J'espère que ce sera utile pour quelqu'un.