JQuery: как перемещаться вверх постепенно (добавляя parent ()) через функцию? - PullRequest
1 голос
/ 31 октября 2009

этот код ниже выбирает всех указанных детей от родителя.

$(this).parent().find(this.attr("tagName").toLowerCase())

однако, я не знаю, как пройти вверх с родителем (). мне потребуется функция, которая будет автоматически добавлять .parent () каждый раз, когда вызывается функция.

Например, я вызываю функцию один раз, и она возвращает $(this).parent().find(this.attr("tagName").toLowerCase())

Я снова вызываю функцию, и она возвращается $(this).parent().parent().find(this.attr("tagName").toLowerCase())

третий раз, $(this).parent().parent().parent().find(this.attr("tagName").toLowerCase())

Ответы [ 2 ]

1 голос
/ 31 октября 2009
$('p:eq(0)').parents().each(function() {
    var el = $(this).find( $(this).attr('tagName').toLowerCase() );
    if ( el.length ) {
        console.log(el);
    }
});
0 голосов
/ 11 октября 2012

JQuery имеет функцию, эквивалентную find, которая работает вверх, а не вниз, и называется closest, добавленной в jQuery 1.3

Например

$(this).parent().closest(this.attr("tagName").toLowerCase())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...