web-dev-qa-db-fra.com

jQuery - Obtenir le parent de second niveau d'un élément

J'essaie de récupérer le parent d'un parent (un grand-parent?). Je veux trouver ce grand-parent, puis une balise <b> dans cet élément, puis stocker ce texte en tant que variable à publier ailleurs sur la page. J'ai essayé d'utiliser la fonction 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);
    });
40
j-man86

essayer:

$(this).parent().parent().find('.thingtofind').text();
40
MDCore

Pour choisir un deuxième parent

parents(':eq(1)')

semble plus lisse que

parent().parent()

En outre, vous pourriez trouver que

closest('ul')

correspond mieux au travail.

54
Radek

parents () retourne une liste, donc ça marche:

$(this).parents()[1];
5
DidThis
$('.mixPlayCell a').click(function() {
  elem = $(this).parent().parent();
  title = $("tag selector goes here",elem).html();
});

Quelque chose comme ça?

3
Jeriko

Il n'y a qu'un seul parent, pas besoin de .get (0)

    var title = $(this).parent().parent().find("whateveryouwant").html();
1
marcgg
$(this).parent().parent().find('mytag').text()

Devrait fonctionner très bien.

Vous pouvez utiliser n’importe quel sélecteur dans la méthode find. Si vous devez simplement rechercher dans les enfants directs de l'élément du grand-parent, vous pouvez également utiliser $.children au lieu de find qui recherche dans tous les enfants de l'élément.

0
Jan Jongboom