Bir DOM öğesini jQuery öğesine nasıl dönüştürebilirim?


277

Document.createElement () ile bir öğe oluşturuyorum. Şimdi bunu sadece Jquery nesnesini alan bir işleve nasıl aktarabilirim?

$("#id") 

Öğe henüz sayfada oluşturulmadığı için kullanamıyorum.


2
Bu soru stackoverflow'taki en iyi soru olarak ödüllendirilmelidir
Oliver

Yanıtlar:


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

10
Bu, jquery yalnızca bir dize seçici değil, varolan bir jquery nesnesini veya ana $ () sorgu işlevine argüman olarak geçerli herhangi bir dom nesnesini alacağı için çalışır.
Samuel Meacham

Tersi ne olacak? Bir jquery öğeniz var ve bunu dom öğesine dönüştürmek mi istiyorsunuz?
Ryan Sampson


İnanılmaz! Çok Faydalı
Oliver

Hey @Marius, karaağaç bir DOM düğümü koleksiyonu içeriyorsa bu işe yarar mı?
daremkd

16

JQuery kullanarak eleman oluşturma hakkında ne dersiniz? Örneğin

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

sayfaya eklenmeye hazır yeni bir div öğesi oluşturur. Daha da kısaltılabilir

$("<div>")

sonra ihtiyacınız olan komutları zincirleyebilir, olay işleyicileri ayarlayabilir ve DOM'a ekleyebilirsiniz. Örneğin

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

2
aslında ben kodu değiştiremiyorum bir yerden eleman alıyorum
Tanmoy

2

Şimdiye kadar yaptığım en iyi çözüm:

function convertHtmlToJQueryObject(html){
    var htmlDOMObject = new DOMParser().parseFromString(html, "text/html");
    return $(htmlDOMObject.documentElement);
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.