Как в jQuery найти заданного родителя элемента? - CodeHelper

Как в jQuery найти заданного родителя элемента?

1

Есть таблица, в некоторых ячейках которой расположены ссылки. При клике на ссылку нужно находить строку, в которой эта ссылка находится. Использовать несколько вызовов parent() не хочется, потому что вложенность элементов внутри ячейки может измениться и придется изменять этот код:

var = $(this).parent().parent();

Можно ли как-то найти именно родителя с тегом TR?

Лучший ответ:

1

В jQuery можно всё))

В данном случае можно использовать

closest(expr) → jQuery

Данная функция работает при первой проверке текущего элемента, если он подходит утсановленному выражению, в таком случае функция вернёт сам элемент. Если не подходит, функция будет продолжать проходить вверх по документу, от родителя к родителю, пока элемент не будет найден элемент соответсвующий обозначенному выражению. Если нет подходящих элементов будет возвращено none. Функция особенно полезна при передаче события.

Параметры

expr (Строковое выражение ): выражение, фильтрующее элементы.

Пример

 $(document).bind("click", function (e) {
    $(e.target).closest("tr").toggleClass("select");
 });

Источник

  • parent() поднимается на один уровень в дереве DOM.
  • parents(".foo") поднимается до корневого элемента и выбирает только те элементы, которые сответсвуют селектору .foo.
  • closest(".foo") поднимается до корневого элемента, но останавливается, когда находит родитель с селектором .foo.
v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.