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.