ฉันจะแปลงองค์ประกอบ DOM เป็นองค์ประกอบ jQuery ได้อย่างไร


277

ฉันกำลังสร้างองค์ประกอบด้วย document.createElement () ตอนนี้ฉันจะส่งผ่านไปยังฟังก์ชันที่ใช้วัตถุ Jquery ได้อย่างไร

$("#id") 

ฉันไม่สามารถใช้มันได้เนื่องจากองค์ประกอบยังไม่ได้แสดงผลในหน้าเว็บ


2
quesion นี้ควรจะได้รับรางวัลเป็นคำถามที่ดีที่สุดใน StackOverflow
โอลิเวอร์

คำตอบ:


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

10
ใช้งานได้เพราะ jquery ไม่เพียง แต่จะเป็นตัวเลือกสตริงเท่านั้น แต่เป็นวัตถุ jquery ที่มีอยู่หรือวัตถุ dom ที่ถูกต้องใด ๆ เป็นอาร์กิวเมนต์สำหรับฟังก์ชันเคียวรี $ () หลัก
ซามูเอล Meacham

สิ่งที่เกี่ยวกับการย้อนกลับ? คุณมีองค์ประกอบ jquery และต้องการแปลงเป็นองค์ประกอบ dom หรือไม่?
Ryan Sampson

2
การย้อนกลับสามารถทำได้โดย: johnjianfang.blogspot.com/2009/04/…
Ryan Sampson

มีประโยชน์มาก
โอลิเวอร์

สวัสดี @Marius จะใช้งานได้ไหมถ้าเอล์มมีชุดของโหนด DOM
daremkd

16

สิ่งที่เกี่ยวกับการสร้างองค์ประกอบโดยใช้ jQuery เช่น

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

สร้างองค์ประกอบ div ใหม่พร้อมที่จะเพิ่มในหน้า สามารถย่อให้สั้นลงไปอีก

$("<div>")

จากนั้นคุณสามารถเชื่อมโยงคำสั่งที่คุณต้องการตั้งค่าตัวจัดการเหตุการณ์และผนวกเข้ากับ DOM ตัวอย่างเช่น

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

2
จริงฉันได้รับองค์ประกอบจากที่ไหนสักแห่งที่ฉันลาดเทเปลี่ยนรหัส
Tanmoy

2

ทางออกที่ดีที่สุดที่ฉันเคยทำ:

function convertHtmlToJQueryObject(html){
    var htmlDOMObject = new DOMParser().parseFromString(html, "text/html");
    return $(htmlDOMObject.documentElement);
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.