2009-03-09 40 views
216

Sto creando un elemento con document.createElement(). Ora come posso passarlo a una funzione che accetta solo un oggetto Jquery?Come posso convertire un elemento DOM in un elemento jQuery?

$("#id") 

Non riesco a utilizzarlo, poiché l'elemento non è stato ancora visualizzato nella pagina.

+0

Questa quesion dovrebbe essere premiato come il migliore domanda a StackOverflow – Oliver

risposta

357
var elm = document.createElement("div"); 
var jelm = $(elm);//convert to jQuery Element 
var htmlElm = jelm[0];//convert to HTML Element 
+8

Questo funziona perché jquery avrà non solo un selettore stringa, ma un oggetto jQuery esistente o qualsiasi oggetto dom valida come argomento per il $ principale() funzione di query. –

+0

E il contrario? Hai un elemento jquery e vuoi convertirlo in un elemento dom? –

+2

L'inverso può essere fatto da: http://johnjianfang.blogspot.com/2009/04/convert-jquery-object-to-dom-object.html –

13

Che ne dici di costruire l'elemento utilizzando jQuery? per esempio.

$("<div></div>") 

crea un nuovo elemento div, pronto per essere aggiunto alla pagina. Può essere accorciato ulteriormente

$("<div>") 

poi si può catena comandi necessari, installare gestori di eventi e aggiungerlo al DOM. Per esempio

$('<div id="myid">Div Content</div>') 
    .bind('click', function(e) { /* event handler here */ }) 
    .appendTo('#myOtherDiv'); 
+1

effettivamente ottengo l'elemento da qualche parte dove non posso cambiare il codice – Tanmoy

Problemi correlati