Ответ 1
попробовать:
$(this).parent().parent().find('.thingtofind').text();
Я пытаюсь получить родительский элемент родительского элемента <a> (grandparent?). Я хочу найти этого дедушку, а затем найти тег <b> в этом элементе, а затем сохранить этот текст в качестве переменной для публикации в другом месте на странице. Я пытался использовать функцию parent(), но без успеха.
Вот код, который я пробовал:
$('.mixPlayCell a').click( function() {
var title = $(this).parent().get(0).parent().get(0).text();
alert(title);
});
попробовать:
$(this).parent().parent().find('.thingtofind').text();
Для выбора второго родительского
parents(':eq(1)')
выглядит более плавным, чем
parent().parent()
Кроме того, вы можете обнаружить, что
closest('ul')
лучше подходит для работы.
parent() возвращает список, поэтому это работает:
$(this).parents()[1];
$('.mixPlayCell a').click(function() {
elem = $(this).parent().parent();
title = $("tag selector goes here",elem).html();
});
Что-то вроде этого?
Есть только один родитель, нет необходимости .get(0)
var title = $(this).parent().parent().find("whateveryouwant").html();
$(this).parent().parent().find('mytag').text()
Должно работать нормально.
Вы можете использовать любой селектор в методе find
. Если вам просто нужно искать в прямых дочерних элемента элемента grandparent, вы также можете использовать $.children
вместо find
, который ищет во всех дочерних элементах.
Попробуйте это для простой реализации:
$('.mixPlayCell a').click( function() {
var title = $(this).parents().text();
alert(title);
});
Только что измененный .parent() с одним .parents()
это работает для каждой версии jQuery.