¿Qué devuelve jquery $ realmente?

He leído la documentación de JQuery, y si bien se dedica mucha atención a lo que debe pasar la función, no veo ninguna información sobre lo que realmente devuelve .

En particular, ¿siempre devuelve una matriz, incluso si solo se encuentra un elemento? ¿Devuelve null cuando no se encuentra nada? ¿Dónde está esto documentado?

Entiendo que los métodos de jquery se pueden aplicar al valor de retorno, pero ¿qué ocurre si solo quiero usar el valor de retorno directamente?

De la descripción de Rick Strahl :

El objeto jQuery: el conjunto envuelto: los selectores devuelven un objeto jQuery conocido como el “conjunto envuelto”, que es una estructura similar a una matriz que contiene todos los elementos DOM seleccionados. Puede iterar sobre el conjunto envuelto como una matriz o acceder a elementos individuales a través del indexador ($ (sel) [0] por ejemplo). Lo que es más importante, también puede aplicar funciones jQuery contra todos los elementos seleccionados.

Acerca de no devolver nada:

¿Siempre devuelve una matriz? ¿Devuelve nulo?

Siempre obtienes lo mismo, ya sea que tenga o no contenido es la pregunta. Por lo general, puede verificar esto usando .val () (por ejemplo, $ (‘. MyElem’). Val ())

No devuelve una matriz, devuelve un objeto jQuery. El objeto jQuery es lo que contiene todos los métodos jQuery especiales.

Nunca devuelve nulo, u otro tipo. Si se encuentra un elemento, el objeto jQuery tendrá solo un elemento secundario. Si no se encuentran elementos, el objeto jQuery estará vacío.

La función jQuery (es decir, ” $ “) siempre devuelve un objeto jQuery en cada instancia.

Como se menciona en otra respuesta, siempre devuelve el objeto jQuery.

Este objeto siempre contiene una matriz de elementos (incluso si es una matriz vacía, o una matriz con un solo objeto).

Si desea utilizar el objeto devuelto “directamente”, como en, como un elemento simple, puede hacer una de las siguientes cosas:

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

De la documentación jQuery :

El objeto jQuery en sí mismo se comporta como una matriz; tiene una propiedad de longitud y se puede acceder a los elementos en el objeto mediante sus índices numéricos [0] a [longitud-1]. Tenga en cuenta que un objeto jQuery no es realmente un objeto Array de Javascript, por lo que no tiene todos los métodos de un verdadero objeto Array como join ().

El hecho de que $ () siempre devuelva la función jQuery le permite encadenar juiciosamente las llamadas a la función jQuery.

Según Firebug, devuelve una matriz de objetos que coinciden con su selector. Pero esta matriz es un objeto jQuery, más métodos que una simple matriz.

Su documentación enumera algunas de las llamadas principales que puede usar con “$” y lo que devuelven

Jquery selector de tecnología

$ (“..”), el selector de jquery, se usa para seleccionar elementos coincidentes.

Valor de retorno

Siempre devuelve un objeto jquery tipo array, que tiene una propiedad de “longitud”,

Método de llamada en el objeto jquery devuelto

Se pueden invocar métodos de jquery en el objeto y aplicarlos a esos elementos seleccionados,

Accede al elemento original por índice

Los elementos seleccionados se almacenan como propiedad del objeto, su nombre de propiedad son números de índice que comienzan desde 0,
por lo tanto, se puede acceder por índice, comenzar desde 0,
después de obtener el elemento original, puede tratarlo como si lo hiciera por “document.getElementXxx ()”.

Ajustar un elemento original a un objeto jquery

Después de obtener el elemento original, puede envolverlo para que sea un objeto jquery,
llamando a $ (originalEle),
entonces puedes llamar a los métodos jquery en el objeto envuelto,