Достаточно интересный (для меня) метод выборки элементов из коллекции - метод
. Хотя чего-то эдакого в этом методе нет совсем.1
.slice()
Просто этот метод позволяет установить диапазон (область), по которому (внутри которой) будут выбираться элементы.
Синтаксис метода
таков:1
.slice()
Возвращает элементы с индексами от
до 1
start
, если последний задан или до конца, если параметр 1
end
опущен.1
end
Элементы с индексом
включаются в результат, а 1
start
- нет (т.е. 1
end
вернет элементы, идущие под индексом 3 и 4, элемент с индексом 5 включен не будет).1
.slice(3,5)
Кроме этого, параметры могут быть заданы в форме отрицательных чисел, в таком случае, отсчет элементов идет с конца набора:
– последний элемент, 1
-1
– предпоследний элемент и т. д.1
-2
Примеры использования:
- вернет все div-элементы, начиная с четвертого (с индексами 3, 4, …)
1
$("div").slice(3)
- вернет div-элементы с индексами 3 и 4
1
$("div").slice(3, 5)
- вернет div-элементы, идущие четвертым и третьим с конца
1
$("div").slice(-4, -2)
- вернет предпоследний и последний div-элементы на странице1
$("div").slice(-2)
Приведу пример HTML-разметки:
Такой javascript-код:
… выполнит следующее:
- создаст переменную
и поместит в нее результат выборки -1
list
1
$('.test')
- найдет в переменной
все элементы1
list
-1
li
1
.find('li')
- в найденной коллекции определит диапазон элементов
с индексами с 2-го по 10-й -1
li
1
.slice(2,10)
- добавит к элементам
этого диапазона класс -1
li
1
.addClass('test__link--sliced')
- но не добавит класс
к элементу1
.test__link--sliced
с индексом 10!1
li
Результатом выполнения показанного выше js-кода будет такая HTML-разметка:
Обратите внимание, что нумерация элементов начинается с
- это индекс элемента! Элемент с последним индексом не включен в выборку!1
0
Еще один пример, более краткий и наглядный.
Начальный HTML-код:
JavaScript-код:
Результат:
На этом все. Материал частично основан на ресурсе jquery.page2page и не претендует на оригинальность.