Bagaimana saya bisa mengonversi elemen DOM ke elemen jQuery?

278

Saya membuat elemen dengan document.createElement (). Sekarang bagaimana saya bisa meneruskannya ke fungsi yang hanya mengambil objek Jquery?

$("#id") 

Saya tidak dapat menggunakannya, karena elemen belum dirender di halaman.

Tanmoy
sumber
2
Pertanyaan ini harus diberikan sebagai pertanyaan terbaik dalam stackoverflow
Oliver

Jawaban:

446
var elm = document.createElement("div");
var jelm = $(elm);//convert to jQuery Element
var htmlElm = jelm[0];//convert to HTML Element
Marius
sumber
10
Ini berfungsi karena jquery tidak hanya akan mengambil pemilih string, tetapi objek jquery yang ada, atau objek dom apa pun yang valid sebagai argumen ke fungsi kueri $ () utama.
Samuel Meacham
Bagaimana dengan yang sebaliknya? Anda memiliki elemen jquery dan ingin mengubahnya menjadi elemen dom?
Ryan Sampson
2
Kebalikannya dapat dilakukan oleh: johnjianfang.blogspot.com/2009/04/…
Ryan Sampson
Sangat Berguna
Oliver
Hai @Marius apakah ini akan berfungsi jika elm berisi koleksi node DOM?
daremkd
16

Bagaimana dengan membangun elemen menggunakan jQuery? misalnya

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

membuat elemen div baru, siap ditambahkan ke halaman. Dapat dipersingkat lebih lanjut menjadi

$("<div>")

maka Anda dapat rantai pada perintah yang Anda butuhkan, mengatur penangan acara dan menambahkannya ke DOM. Sebagai contoh

$('<div id="myid">Div Content</div>')
    .bind('click', function(e) { /* event handler here */ })
    .appendTo('#myOtherDiv');
Russ Cam
sumber
2
sebenarnya saya mendapatkan elemen dari suatu tempat di mana saya tidak bisa mengubah kode
Tanmoy
2

Sejauh ini solusi terbaik yang pernah saya buat:

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