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.


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

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');

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);
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.