2012-09-28 12 views
9

aleatoria sólo por curiosidad pregunta:

Digamos, por la razón que sea consigo un elemento de volver de una función

$(element) 

Pero querer quitar los $ (__) jQuery envoltura para dejar el elemento DOM normal:

element 

¿Es esto posible? (estoy seguro de que sería inteligente para probar $(element).length() para asegurarse de que no es más de 1 cosa dentro de antemano también ...

jsFiddle

+0

'$ (elemento) .length' es mucho mejor si usted quiere comprobar si tiene más de 1 elemento. –

+0

Ah, eso es lo que quise escribir, ¿'.size()' no acaba de llamarlo de todos modos ahora? –

+0

Sí, pero usar '.size' es simplemente una llamada de función extra que no es necesaria. –

Respuesta

21
var firstElem = $(element)[0]; 

o

var firstElem = $(element).get(0); 

Llamar a get() sin un índice le da una matriz de los elementos.

Referencia: jQuery get()

+0

Triste, sabía acerca de hacer '$ (elemento) [0]' también jaja ... gracias a Dios es viernes necesito un descanso jaja. ¿Alguna razón para usar '.get()' sobre '.toArray()', o viceversa? –

+0

@mcpDESIGNS: Para que quede claro, no creo que epascarello realmente esté sugiriendo la forma de '$ (elemento) [0]', que no tiene sentido usar. Solo necesitaría '[0]' o '.get (0)' cuando le hayan dado un objeto jQuery previamente construido. –

+0

Sí, sé que ustedes quisieron decir que pueden descomponerlo por '[0]' el primer elemento. ¡Apreciarlo chicos! –

6

Los elementos DOM se almacenan como propiedades en índices numéricos basados ​​en cero, por lo que puede acceder a ellos como lo haría con cualquier otro objeto.

$jqObj[0]; 

o conseguir una amplia gama de elementos utilizando toArray()

$jqObj.toArray(); 
Cuestiones relacionadas