Найближчий підходящий предок

Матеріал із JQuery

selector— селектор, за яким відбуватиметься пошук.context— область пошуку (якщо вона не задана, то область пошуку буде весь документ), яка може бути задана DOM-елементом, jQuery-об'єктом або об'єктом документа.

специфічна версія методу closest(), зроблена переважно для внутрішніх потреб бібліотеки. Замість одного селектора тут задається масив селекторів. В результаті метод повертає масив js-об'єктів, кожен з яких містить два поля: selector (містить один із заданих в масиві селекторів) і elem з DOM-елементом, який був знайдений методом closest(selector), застосованим до першого з обраних елементів.

selectors— масив селекторів, якими вибиратимуться потрібні елементи.context- див. вище.

jQuery object— об'єкт jQuery за елементами якого відбуватиметься пошук.

element— DOM-елемент, за яким відбуватиметься пошук (ця версія методу зручна для перевірки наявності елемента серед усіх вибраних елементів та їх предків).

$("#lBlock").closest("div")шукатиме перший div-елемент серед елемента з >
$(".lBlock").closest("div")для кожного елемента з класом lBlock шукатиме перший div-елемент серед самого елемента та його предків.

closest здійснює пошук елементів уздовж DOM-ієрархії кожного з вибраних елементів, що робить його схожим на parents(). Однак варто розрізняти ці методи:

closest()parents()
Починає пошук безпосередньо з вибраного (обраного) елемента і рухається вгору ієрархією.Починає пошук з «батьків» вибраних елементів і рухається вгору ієрархією
Рухаючись вгору ієрархією зупиняє пошук після першого відповідного елемента (після чого починає здійснювати пошук для наступного обраного елемента). Тому знаходить не більше одного елемента для кожного з обраних.Рухається вгору ієрархією до кінця, збираючи всі відповідні елементи. Тому може знаходити багато об'єктів для кожного обраного.

В дії

Для кожного елемента з класом matched, знайдемо найближчий li-елемент з наступних: сам вибраний елемент, всі його предки.