Справочник API
.get() в jQuery
Содержание статьи
-
Категории: Miscellaneous › DOM Element Methods
Находит в наборе jQuery и возвращает DOM элемент с указанным индексом или массив всех элементов набора, если вызывается без параметра.
Синтаксис и описание:
Добавлено в jQuery 1.0.get( )
Добавлено в jQuery 1.0.get( index )
Набор jQuery — не обычный массив, а массивоподобный объект. .get() без аргументов превращает его в стандартный JS-массив DOM-элементов (для этой задачи есть и отдельный метод — .toArray(), добавленный в 1.4). .get(index) достаёт из набора один «голый» DOM-элемент (
Element), а не объект jQuery — к нему применимы только нативные свойства и методы, а не.css(),.html()и другие методы jQuery.index может быть отрицательным: отсчёт тогда идёт с конца набора,
.get(-1)— последний элемент.
Возвращаемое значение: (массив DOM-элементов) без аргументов; (элемент DOM) с индексом — либо undefined, если элемента с таким индексом нет.
Параметры:
index – (число) позиция элемента, отсчёт с 0; отрицательное значение — позиция от конца набора.
Примечание:
Короткая запись
$(selector)[0]делает то же самое, что$(selector).get(0), — это прямой доступ по массивоподобному индексу; .get(0) просто нагляднее выражает намерение.Примечание:
Если нужен именно массив — для методов вроде
.map()/.reduce()из стандартного JS или для перебора через .each() — по смыслу то же самое, что .get() без аргументов, делает .toArray().В jQuery 3.x и 4.0:
Метод не менялся, работает без изменений в 3.7.1 и 4.0. Отдельного нативного аналога не требуется — .get(index) и так возвращает обычный DOM-элемент; для получения массива всех элементов можно использовать
Array.from(jQueryObject)или спред[...$(selector)]. Подробнее о том, что можно делать без jQuery — в статье jQuery и обычный JavaScript.
Примеры:
Достать нативный элемент, чтобы вызвать его метод напрямую.
$('#my-input').get(0).focus();Получить массив элементов и пройтись по нему обычным forEach.
$('.item').get().forEach(function(el) { console.log(el.textContent); });Последний элемент через отрицательный индекс.
var lastLi = $('li').get(-1); lastLi.classList.add('last-native');