294 votes

Comment convertir un élément DOM en un élément jQuery ?

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

$("#id") 

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

2 votes

Cette question devrait être récompensée comme la meilleure question de stackoverflow.

479voto

Marius Points 27452
var elm = document.createElement("div");
var jelm = $(elm);//convert to jQuery Element
var htmlElm = jelm[0];//convert to HTML Element

11 votes

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

0 votes

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

2 votes

L'inverse peut être fait par : johnjianfang.blogspot.com/2009/04/

17voto

Russ Cam Points 58168

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

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

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

$("<div>")

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

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

2 votes

En fait, je récupère l'élément d'un endroit où je ne peux pas changer le code.

3voto

Igor Maculewicz Points 21

Jusqu'à présent, la meilleure solution que j'ai trouvée :

function convertHtmlToJQueryObject(html){
    var htmlDOMObject = new DOMParser().parseFromString(html, "text/html");
    return $(htmlDOMObject.documentElement);
}

1voto

Blair Points 21

Je pense que jQuery fournit 'replaceWith' pour cela. voir ici .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X