Метод get является одним из ключевых инструментов работы
с коллекцией элементов в библиотеке Zepto. Он позволяет получить доступ
к конкретным элементам DOM внутри объекта Zepto, а также преобразовывать
коллекцию в массив для дальнейшей работы с ней.
$(selector).get(index)
$(selector).get()
Параметры:
index (необязательный) — целое число,
определяющее позицию элемента в коллекции. Может быть отрицательным для
обратного отсчета от конца коллекции.index не указан, метод возвращает массив всех
элементов DOM в коллекции.Возвращаемое значение:
index возвращается конкретный
DOM-элемент.Метод get позволяет извлечь конкретный элемент из
коллекции Zepto по его позиции.
var item = $('li').get(0); // первый элемент списка
var lastItem = $('li').get(-1); // последний элемент списка
Особенности:
Если не передавать индекс, метод get возвращает массив
всех элементов, что открывает доступ к методам массива JavaScript.
var allItems = $('li').get();
allItems.forEach(function(el) {
console.log(el.textContent);
});
map, filter,
forEach.get от
индексирования через []В Zepto коллекцию элементов можно индексировать напрямую:
var first = $('li')[0];
Однако get имеет преимущества:
Пример с отрицательным индексом:
var last = $('li').get(-1); // возвращает последний элемент
Пример прямого индексирования не поддерживает отрицательные индексы:
var last = $('li')[$('li').length - 1]; // нужно вычислять вручную
Метод get особенно полезен при работе с коллекциями,
которые изменяются во времени. Например, если элементы добавляются или
удаляются динамически, get всегда возвращает актуальный
элемент по указанной позиции.
$('ul').append('<li>Новый элемент</li>');
var newItem = $('li').get(-1); // новый элемент автоматически доступен
Часто get применяется вместе с методами
each, map и нативными функциями JavaScript для
удобной обработки элементов.
var texts = $('li').get().map(function(el) {
return el.textContent.toUpperCase();
});
console.log(texts);
get обеспечивает плавный переход от объектной
коллекции Zepto к стандартному массиву DOM-элементов.get(index) для доступа к конкретному
DOM-элементу без создания новой обертки Zepto.get() для преобразования всей коллекции в
массив при необходимости обработки с помощью стандартных функций
JavaScript.Метод get в Zepto.js обеспечивает гибкость работы с
коллекцией элементов, сочетая преимущества прямого доступа к DOM с
удобством интеграции с функциональными возможностями массивов.