Что возвращает jquery $?

Я прочитал документацию JQuery, и, хотя большое внимание уделяется тому, что вы должны передать этой функции, я не вижу никакой информации о том, что она действительно возвращает.

В частности, всегда ли он возвращает массив, даже если найден только один элемент? Возвращает ли он значение null, когда ничего не найдено? Где это документировано?

Я понимаю, что методы jquery могут применяться к возвращаемому значению, но что, если я хочу просто использовать возвращаемое значение напрямую?

Ответы

Ответ 1

Из описание Рика Страгла:

Объект jQuery: упакованный набор: Селекторы возвращают объект jQuery, известный как "завернутый набор", который является массивная структура, содержащая все выбранные элементы DOM. Ты можешь перебирать завернутый набор как массив или доступ к отдельным элементам через индекс ($ (sel) [0] для пример). Что еще более важно, вы можете также применяются функции jQuery против все выбранные элементы.

О возврате ничего:

Всегда ли он возвращает массив? Он возвращает null?

Вы всегда получаете то же самое, независимо от того, есть ли у него какие-либо вопросы. Обычно вы можете проверить это с помощью .val() (например, $('. MyElem'). Val())

Ответ 2

Он не возвращает массив, он возвращает объект jQuery. Объект jQuery - это то, что содержит все специальные методы jQuery.

Он никогда не возвращает null или другой тип. Если один элемент найден, объект jQuery будет иметь только один дочерний элемент. Если элементы не найдены, объект jQuery будет пустым.

Ответ 3

Функция jQuery (т.е. "$" ) всегда возвращает объект jQuery в каждом экземпляре.

Ответ 4

Как сказал еще один ответчик, он всегда возвращает объект jQuery.

Этот объект всегда содержит массив элементов (даже если это пустой массив или массив с одним объектом).

Если вы хотите использовать возвращенный объект "прямо", как и в качестве простого элемента, вы можете сделать одно из следующего:

$('selector')[0] // element
$('selector').get(0) // element
$('selector').length // number of elements in the array

Ответ 5

Из документации jQuery:

Сам объект jQuery ведет себя подобно массиву; он имеет свойство length, а к элементам объекта можно обращаться по их числовым индексам [0] - [длина-1]. Обратите внимание, что объект jQuery фактически не является объектом Javascript Array, поэтому он не имеет всех методов истинного объекта Array, такого как join().

Ответ 6

Тот факт, что функция $() всегда возвращает функцию jQuery, позволяет вам разумно использовать функцию jQuery.

Ответ 7

Согласно firebug, он возвращает массив объектов, соответствующий вашему селектору. Но этот массив является объектом jQuery, что больше методов, чем простой массив.

Ответ 8

В их документации перечислены некоторые из основных вызовов, которые вы можете использовать с "$" и возвращаемыми ими

Ответ 9

Механизм выбора JQuery

$( ".." ), селектор jquery, используется для выбора согласованных элементов.

Возвращаемое значение

Он всегда возвращает объект типа jquery, подобный массиву, который имеет свойство length,

Вызов метода для возвращаемого объекта jquery

Методы jquery могут быть вызваны на объект и применимы к этим выбранным элементам,

Доступ к исходному элементу по индексу

Выбранные элементы хранятся как свойство объекта, их имя свойства - это номера индексов, начинающиеся с 0,
таким образом, можно получить доступ по индексу, начиная с 0,
после получения исходного элемента вы можете обращаться с ним так, как будто get by "document.getElementXxx()".

Оберните исходный элемент в объект jquery

После получения исходного элемента вы можете обернуть его как объект jquery,
путем вызова $(originalEle),
то вы можете вызвать методы jquery на обернутом объекте,