2011-08-18 20 views
42

Ho un elemento jQuery ma devo inviarlo a una funzione che accetta solo elementi HTML. Come posso convertire l'elemento jQuery in un elemento HTML?Converti elemento jquery in elemento HTML

+5

Non lo converti davvero. Lo si preleva dall'oggetto jQuery dal suo indice numerico. Avviso – user113716

risposta

69

Prova myJQueryElement.get(0) o myJQueryElement[0]. (get() è più utile quando è necessario indici negativi, per esempio, come descritto nella documentazione per get().)

+0

: get (0) non restituirà gli elementi interni – Francois

20

$("#foo")[0] ti porterà un elemento HTML. L'utilizzo delle parentesi è un po 'più veloce rispetto all'utilizzo di .get() ma non qualcosa che probabilmente noterete a meno che non lo stiate facendo millions of times.

+11

E nemmeno allora! Se lo esegui 10 milioni di volte, le parentesi richiederanno 150 secondi, il completamento richiederà 170 secondi. Scommetto che non puoi accorgertene senza sederti lì contando "1-Mississippi, 2-Mississippi ..." Mississippilessly, è impossibile capire la differenza. Fai in modo che sia più leggibile. (A proposito, sto solo postando questo commento perché mi dà il cambio di usare la parola "Mississippilessly" in una frase: se qualcuno vuole discutere del futuro della Chiesa anglicana con me, muoio dalla voglia di usare "antidisestablishmentarianistically" .) – Malvolio

+1

È ironico che tu abbia sposato la leggibilità subito dopo aver usato "Mississippilessly", ma hai ragione. get consente di convertire l'oggetto jQuery in una matrice di oggetti DOM, richiamandolo senza argomenti o ottenere ighthth alla fine fornendo un argomento negativo. Altrimenti è solo una funzione che usa le parentesi. – Dennis

+0

omg. questo problema mi ha preso letteralmente giorni. grazie per questa risposta! – void