Достаточно интересные методы -
и 1
.eq()
, особенно в сочетании друг с другом. Поэтому и решил объединить рассмотрение этих методов. Каждый по отдельности - методы просты и мало показательны.1
.index()
Но для начала вкратце (по другому и не получиться) опищу каждый из методов, по возможности своими словами.
Метод index
Работа метода
проста - он возвращает индекс (порядковый номер) указанного элемента среди группы ему подобных.1
.index()
Синтаксис метода
также простой:1
.index()
или
И пример для иллюстрации:
Сделать выборку всех элементов
и вернуть индекс элемента 1
li
с классом 1
li
:1
.cinque
Найти элемент с классом
среди соседних элементов и вернуть его индекс:1
.sei
Как видим, способы получения индекса элемента разные, а результат один.
Метод eq
Метод
прямопротивоположен методу 1
.eq()
. Этот метод возвращает элемент (как объект) по его индексу (порядковому номеру).1
.index()
Если взять предыдущую HTML-разметку, то такой javascript-код:
… изменит содержимое второго по счету элемента
на “Secondo”. Почему второго? Как можно догадаться, результатом выборки 1
li
является массив элементов; а в массиве индексирование элементов начинается с нуля (0).1
$('li')
Методы eq и index
Рассмотренные выше примеры использования методов
и 1
.eq()
просты и понятны. И неинтересны.1
.index()
Гораздо более интеерсным примером является случай объединения обоих методов в jQuery-цепочке.
Приведу такой гипотетический пример:
Javascript-код, написанный выше, читается таким образом:
- сделать выборку всех элементов с классом
1
.test__item
- при клике мыши на любом из этих элементов выполнить функцию:
- сделать выборку всех элементов
1
li
- вернуть индекс активного элемента из выборки -
1
$(this).index()
- вернуть активный элемент по его индексу -
1
.eq($(this).index())
- для возвращенного элемента
изменить его содержимое на значение его индекса -1
.eq($(this).index())
1
html($(this).index())
- всем соседним (sibling) элементам установить значение в -
1
.siblings().html("test item link")
- сделать выборку всех элементов
Пример рабочий, поэтому его можно свободно попробовать.
В принципе, на этом все.