Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

เมธอด HTML DOM createDocumentFragment()

เมธอด HTML DOM createDocumentFragment() ใช้สำหรับสร้าง Document Fragment (ส่วนของเอกสาร) Document fragment ไม่ส่งผลต่อโครงสร้าง DOM เนื่องจากมันอยู่ในหน่วยความจำ เมื่อเราผนวก document fragment เข้า DOM มันจะถูกแทนที่ด้วยลูกของมัน คือ ไม่มี document fragment ถูกผนวกกับเอกสาร เพียงแค่ลูกของมันเท่านั้นที่ถูกผนวก

ไวยากรณ์

ไวยากรณ์สำหรับเมธอด createDocumentFragment() ดังนี้ -

document.createDocumentFragment()

มันคืนค่าอ็อบเจกต์ DocumentFragment แทนโหนด documentFragment

ตัวอย่าง

ลองดูตัวอย่างสำหรับเมธอด HTML DOM createDocumentFragment() -

<!DOCTYPE html> <html> <body> <h1>createDocumentFragment() example</h1> <p>คลิกปุ่มด้านล่างเพื่อเปลี่ยนรายการลิสต์โดยใช้เมธอด createDocumentFragment</p> <button type="button" onclick="changeList()">CHANGE</button> <ul> <li>Mango</li> <li>Peach</li> <li>Guava</li> <li>Strawberry</li> <li>Papaya</li> </ul> <script> function changeList() { var x = document.createDocumentFragment(); x.appendChild(document.getElementsByTagName("LI")[0]); x.childNodes[0].childNodes[0].nodeValue = "Watermelon"; document.getElementsByTagName("UL")[0].appendChild(x); } </script> </body> </html>

ผลลัพธ์

จะได้ผลลัพธ์ดังนี้ -

เมธอด HTML DOM createDocumentFragment()

เมื่อคลิกปุ่ม CHANGE -

เมธอด HTML DOM createDocumentFragment()

ในตัวอย่างข้างต้น -

เราสร้างรายการไม่เรียงลำดับที่มีห้ารายการ -

<ul> <li>Mango</li> <li>Peach</li> <li>Guava</li> <li>Strawberry</li> <li>Papaya</li> </ul>

เราสร้างปุ่ม CHANGE ที่จะเรียกใช้เมธอด changeList() เมื่อถูกคลิกโดยผู้ใช้ -

<button type="button" onclick="changeList()">CHANGE</button>

ฟังก์ชัน changeList() สร้าง document fragment โดยใช้เมธอด createDocumentFragment() ของอ็อบเจกต์เอกสารและกำหนดให้ตัวแปร x ใช้เมธอด appendChild() เราทำให้องค์ประกอบลิสต์เป็นลูกของ document fragment เราตั้งค่ารายการแรกที่อยู่ใน document fragment เป็น "Watermelon" เราจึงผนวก document fragment เป็นลูกสุดท้ายของ -

function changeList() { var x = document.createDocumentFragment(); x.appendChild(document.getElementsByTagName("LI")[0]); x.childNodes[0].childNodes[0].nodeValue = "Watermelon"; document.getElementsByTagName("UL")[0].appendChild(x); }