2009-03-09 7 views
216

Je crée un élément avec document.createElement(). Maintenant, comment puis-je passer à une fonction qui ne prend qu'un objet Jquery?Comment convertir un élément DOM en élément jQuery?

$("#id") 

Je ne peux pas l'utiliser, comme l'élément n'a pas été rendu dans la page encore.

+0

Ce quesion devrait être attribué comme la meilleure question stackoverflow – Oliver

Répondre

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

Cela fonctionne parce que jquery prendra non seulement un sélecteur de chaîne, mais un objet jquery existant, ou tout autre objet dom valide comme argument pour principal $() fonction de requête. –

+0

Qu'en est-il de l'inverse? Vous avez un élément jquery et vous voulez le convertir en un élément dom? –

+2

L'inverse peut être fait par: http://johnjianfang.blogspot.com/2009/04/convert-jquery-object-to-dom-object.html –

13

Qu'en est-il de la construction de l'élément en utilisant jQuery? par exemple.

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

crée un nouvel élément div, prêt à être ajouté à la page. Peut être encore raccourci à

$("<div>") 

alors vous pouvez enchaîner sur les commandes dont vous avez besoin, mettre en place des gestionnaires d'événements et l'ajouter au DOM. Par exemple

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

effectivement je reçois l'élément de quelque part où je ne peux pas changer le code – Tanmoy

Questions connexes