93 votes

jQuery parent d'un parent

Je suis en train d'essayer de trouver le parent d'un parent d'un élément. J'ai un lien cliqué dans un <td>, et je voudrais avoir l' <tr> objet.

Pourquoi pas "$(this).parent().parent ()"? Ce qui va?

Merci,
Brendan

Edit: Il semble une erreur dans ma syntaxe a été de jeter le tout. "$(this).parent().parent()" n'a en fait de travail, mais j'ai fini par aller avec $(this).closest('tr')" car il semble que la solution la plus efficace.

221voto

Paolo Bergantino Points 199336

Le meilleur moyen serait probablement à l'aide de closest:

$(this).closest('tr');

Consultez la documentation:

Plus proche des œuvres de la première recherche à l'élément en cours pour voir si elle correspond à l'expression spécifiée, si elle retourne l'élément lui-même. Si elle ne correspond pas, alors il sera de continuer à parcourir le document, parent de parent, jusqu'à ce qu'un élément est trouvé qui correspond à l'expression spécifiée. Si aucun élément correspondant est trouvé, alors aucun ne sera retourné.

20voto

Philippe Leybaert Points 62715

Ça devrait marcher. Vous pouvez également essayer $ (this) .parents (tag), où tag est la balise que vous souhaitez rechercher.

Par exemple:

 $(this).parents("tr:first")
 

Trouvera le tr le plus proche "en haut de la chaîne".

9voto

Lathan Points 646

Cela devrait fonctionner ... vous pourriez essayer

 $(this).parents(':eq(1)');
 

Le .parents (sélecteur) dit obtenir tous les ancêtres qui correspondent au sélecteur

et le: eq (1) dit trouver l’élément oneth (index zéro, donc le deuxième) dans la liste

6voto

Gabriel Hurley Points 17079

J'ai certainement utilisé $ (this) .parent (). Parent () avant tout va bien. Vous pouvez poster du code pour nous voir s'il y a un autre problème quelque part ...

5voto

Dilip Points 81

Essayez aussi

 $(this).closest('div.classname').hide();
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X