2011-08-18 8 views
42

Tengo un elemento jQuery pero debo enviarlo a una función que solo acepta elementos HTML. ¿Cómo puedo convertir el elemento jQuery en un elemento HTML?Convertir elemento jquery en elemento html

+5

Realmente no lo convierte. Solo tiene que buscarlo desde el objeto jQuery por su índice numérico. – user113716

Respuesta

69

Pruebe myJQueryElement.get(0) o myJQueryElement[0]. (get() es más útil cuando se necesita índices negativos, por ejemplo, como se describe en la documentación de get().)

+0

advertencia: get (0) no devolverá los elementos internos – Francois

20

$("#foo")[0] le conseguirá un elemento HTML. Usar corchetes es un poco más rápido que usar .get() pero no es algo que probablemente notará a menos que lo esté haciendo millions of times.

+11

¡Y ni siquiera así! Si lo ejecuta 10 millones de veces, los corchetes demorarán 150 segundos, y le tomará 170 segundos. Apuesto a que no puedes darte cuenta sin estar sentado allí contando "1-Mississippi, 2-Mississippi ..." Sin misericordia, es imposible notar la diferencia. Haz lo que creas que sea más legible. (Por cierto, solo publico este comentario porque me da el cambio de usar la palabra "Mississippilessly" en una oración. Si alguien quiere hablar sobre el futuro de la Iglesia Anglicana conmigo, me muero por usar "antidisestablishmentarianistically" .) – Malvolio

+1

Es irónico que hayas abrazado la legibilidad justo después de usar 'Mississippilessly' pero tienes razón. get le permite convertir el objeto jQuery a una matriz de objetos DOM llamándolo sin argumentos, o obtener el _n_th del final proporcionando un argumento negativo. De lo contrario, es solo una función que usa los corchetes. – Dennis

+0

omg. este problema ha tomado literalmente días de mí. gracias por esta respuesta! – void

Cuestiones relacionadas