jQuery - Obtenir le deuxième niveau parent d'un élément
j'essaie de récupérer le parent d'un élément parent (grandparent?). Je veux trouver ce grand-parent, puis trouver une balise dans cet élément, puis stocker ce texte comme une variable à publier ailleurs sur la page. J'ai essayé d'utiliser le parent() mais sans succès.
Voici le code que j'ai essayé:
$('.mixPlayCell a').click( function() {
var title = $(this).parent().get(0).parent().get(0).text();
alert(title);
});
7 réponses
essaie:
$(this).parent().parent().find('.thingtofind').text();
Pour la sélection d'un deuxième parent
parents(':eq(1)')
apparence plus douce que
parent().parent()
aussi, vous pourriez trouver que
closest('ul')
convient mieux au travail.
parents () renvoie une liste, donc cela fonctionne:
$(this).parents()[1];
$('.mixPlayCell a').click(function() {
elem = $(this).parent().parent();
title = $("tag selector goes here",elem).html();
});
quelque Chose comme ça?
Il n'y a qu'un parent, pas besoin .get (0)
var title = $(this).parent().parent().find("whateveryouwant").html();
$(this).parent().parent().find('mytag').text()
Devrait fonctionner parfaitement.
Vous pouvez utiliser n'importe quel sélecteur dans le find
méthode. Si vous avez juste besoin de chercher dans les enfants directs de l'élément des grands-parents, vous pouvez aussi utiliser $.children
au lieu de find
qui cherche dans tous les enfants de l'élément.
Essayez ceci pour la simple mise en œuvre :
$('.mixPlayCell a').click( function() {
var title = $(this).parents().text();
alert(title);
});
vient de changer .parent () avec un .les parents()
cela fonctionne pour toutes les versions de jQuery.