Справочник API
.index() в jQuery
Содержание статьи
-
Категории: Miscellaneous › DOM Element Methods
Ищет указанный элемент в наборе jQuery и возвращает его индекс (порядковый номер в наборе начиная с 0) или -1, если не находит.
Синтаксис и описание:
Добавлено в jQuery 1.4.index( )
Добавлено в jQuery 1.4.index( selector )
Добавлено в jQuery 1.0.index( element )
Без аргументов .index() возвращает позицию первого элемента набора среди его соседей-элементов внутри родителя — порядковый номер среди «братьев» по DOM.
С селектором — позицию первого элемента набора среди элементов всего документа, подходящих под этот селектор.
С DOM-элементом или объектом jQuery — позицию переданного элемента внутри исходного набора jQuery, на котором вызван .index() (а не внутри документа).
Возвращаемое значение: (число) Позиция с 0; -1, если элемент не найден в соответствующем контексте.
Параметры:
selector – (строка) селектор, среди подходящих под который элементов документа ищется позиция.
element – (элемент DOM | объект jQuery) элемент, чью позицию внутри текущего набора нужно найти.
Примечание:
Три формы решают разные задачи: не путайте «позицию среди соседей по DOM» (без аргументов или с селектором) и «позицию внутри уже отобранного набора jQuery» (с элементом на входе).
Примечание:
Если исходный набор пуст, .index() без аргументов вернёт -1.
В jQuery 3.x и 4.0:
Метод не менялся, работает без изменений в 3.7.1 и 4.0. Частичный нативный аналог для позиции среди соседей —
Array.prototype.indexOf.call(el.parentNode.children, el).
Примеры:
Определить номер вкладки, на которую кликнули, и переключить соответствующую панель.
$('.tabs').on('click', '.tab', function() { var i = $(this).index(); $('.tab-panel').eq(i).addClass('active').siblings().removeClass('active'); });Найти позицию текущего шага среди всех элементов .step в документе.
var pos = $('#current-step').index('.step');Найти позицию конкретного DOM-элемента внутри набора (-1, если он не входит в набор).
var items = $('.gallery img'); var clicked = document.querySelector('.gallery img.active'); console.log(items.index(clicked));