2009-03-09 15 views
216

Tworzę element z document.createElement(). Teraz jak mogę przekazać go do funkcji, która zajmuje tylko obiekt Jquery?Jak przekonwertować element DOM na element jQuery?

$("#id") 

Nie mogę go użyć, ponieważ element nie został jeszcze wyrenderowany na stronie.

+0

To quesion powinna być przyznana za najlepszy pytanie w stackoverflow – Oliver

Odpowiedz

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

To działa, ponieważ jQuery weźmie nie tylko selektor ciąg, ale istniejącego obiektu jQuery lub jakiegokolwiek ważnego obiektu DOM jako argument do głównej $() funkcja zapytania. –

+0

A co z odwrotnością? Masz element jquery i chcesz go przekonwertować na element dom? –

+2

Rewers można zrobić przez: http://johnjianfang.blogspot.com/2009/04/convert-jquery-object-to-dom-object.html –

13

Co ze skonstruowaniem elementu za pomocą jQuery? na przykład

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

tworzy nowy element div, gotowy do dodania do strony. Można go jeszcze skrócić do

$("<div>") 

, następnie możesz połączyć się z komendami, których potrzebujesz, skonfigurować procedury obsługi zdarzeń i dołączyć do DOM. Na przykład

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

faktycznie otrzymuję element z miejsca, w którym nie mogę zmienić kodu – Tanmoy

Powiązane problemy