Jquery parent parents і closest або як отримати предка по його номеру - все про web розробці на

Доброго дня. Невелика замітка про те, як можна отримати з батьків елемента по його порядковому номеру в дереві батьків.

У jquery є кілька способів отримання батьків елементів: parent, parents, closest

parent - повертає прямого батька, це один елемент, як параметр може отримувати селектор. Тоді метод повертає батька тільки якщо батьківський селектор збігається з тим, що подається в якості параметра.

Для прикладу, будемо препарувати такий синтетичний шматок HTML

для початку без параметра

все працює, тепер так

метод parents - як зрозуміло з назви витягує всіх батьків елемента, знову ж якщо заданий селектор то тільки тих батьків, чиї дані підходять під цей селектор

власне для чого писалася замітка, звернутися до n-ому батькові можна так

проте індекс масиву не дуже підходить для цих цілей, так як ми звикли працювати з jquery об'єктами тому робимо так

зручніше ніж писати купу parent (). parent (). parent ()

Однак при завданні селектора, потрібно пам'ятати, що індекс елементів зміниться

closest відрізняється від parents тим, що повертає лише один елемент, а обхід починається не з батьків, а з самого себе

а виклик closest без параметра, повертає сам елемент, якщо Вам потрібен саме другий div, використовуйте parents ( 'div'). eq (0), як описано вище

Зауважу, все ж, що jquery так влаштований, що

однак, так робити не слід.