PlusMagi's Blog By Pitt Phunsanit Frontend,JavaScript,Programming,Web การสร้าง เพิ่ม และลบ Element บน DOM ด้วย createElement(), appendChild() และ remove()

การสร้าง เพิ่ม และลบ Element บน DOM ด้วย createElement(), appendChild() และ remove()

ในโลกของการพัฒนาเว็บสมัยใหม่ เว็บไซต์ไม่ได้เป็นเพียงแค่เอกสารคงที่ที่แสดงผลเท่านั้น แต่คือระบบที่มีชีวิตชีวาและตอบสนองต่อการกระทำของผู้ใช้งานอย่างต่อเนื่อง ความสามารถในการจัดการโครงสร้างของหน้าเว็บแบบเรียลไทม์จึงเป็นหัวใจสำคัญที่ทำให้เกิดประสบการณ์ผู้ใช้ (UX) ที่ราบรื่น การเปลี่ยนแปลงเนื้อหาตามเงื่อนไขต่างๆ เช่น การแสดงผลข้อความแจ้งเตือน, การเพิ่มรายการสินค้าลงในตะกร้า, หรือการอัปเดตสถานะข้อมูล ล้วนอาศัยกลไกเบื้องหลังที่เรียกว่า Document Object Model (DOM)


เจาะลึกรายละเอียดและประเด็นสำคัญ

การจัดการ DOM คือกระบวนการที่ JavaScript ใช้ในการเข้าถึงและแก้ไขโครงสร้างของ HTML โดยมีเครื่องมือหลักสามตัวที่เราต้องทำความเข้าใจอย่างถ่องแท้ เริ่มจาก document.createElement() ซึ่งเป็นคำสั่งพื้นฐานในการ “สร้าง” Element ใหม่ในหน่วยความจำก่อนที่จะนำไปแสดงผลจริง จากนั้นใช้ parentNode.appendChild(childElement) เพื่อทำการ “เพิ่ม” Element ที่สร้างขึ้นเข้าไปยังตำแหน่งที่ต้องการบน DOM และสุดท้ายคือการใช้เมธอดอย่าง element.remove() หรือ removeChild() เพื่อทำการ “ลบ” Element ออกจากโครงสร้าง ทำให้หน้าเว็บมีความยืดหยุ่นและตอบสนองได้ตามหลักการของ Single Page Application (SPA)

ความเข้าใจในวงจรชีวิตของ Element เหล่านี้—ตั้งแต่การถูกสร้าง การถูกผนวก และการถูกกำจัด—เป็นสิ่งสำคัญที่ช่วยให้เราสามารถเขียนโค้ดที่จัดการกับสถานะ (State) ของแอปพลิเคชันได้อย่างแม่นยำ ไม่ว่าจะเป็นการจำลองฟังก์ชัน Like/Unlike บนโซเชียลมีเดีย หรือการกรองข้อมูลในตารางขนาดใหญ่ การควบคุม DOM อย่างถูกหลักไวยากรณ์จึงเป็นทักษะที่แยกไม่ได้จากการเป็นนักพัฒนาเว็บระดับอาวุโส

const container = document.getElementById('container');

// 1. สร้าง Element ใหม่ (createElement)
const newDiv = document.createElement('div');
newDiv.textContent = 'นี่คือ Element ที่ถูกสร้างขึ้นใหม่!';
newDiv.classList.add('dynamic-element');

// 2. เพิ่ม Element เข้าไปใน DOM (appendChild)
container.appendChild(newDiv);

// จำลองการทำงานหลังจากผ่านไปสักพัก
setTimeout(() => {
    const elementToRemove = document.querySelector('.dynamic-element');
    if (elementToRemove) {
        // 3. ลบ Element ออกจาก DOM (remove())
        elementToRemove.remove();
        console.log('Element ถูกลบออกจากหน้าจอเรียบร้อยแล้ว');
    }
}, 3000);


การนำไปประยุกต์ใช้ในชีวิตและการทำงานยุคใหม่

  • การสร้าง UI แบบโต้ตอบ (Interactive Components):
  • ระบบแจ้งเตือนและ Modal Popups: การใช้ createElement() เพื่อสร้างโครงสร้างของ Popup และ appendChild() เข้าไปใน body เมื่อผู้ใช้คลิกปุ่มใดๆ ทำให้เกิดการแสดงผลที่ดูเป็นธรรมชาติและไม่จำเป็นต้องโหลดหน้าใหม่ทั้งหมด

สรุปได้ว่า การควบคุม DOM ไม่ใช่แค่เรื่องของการเขียนโค้ด แต่คือการเข้าใจวงจรชีวิตของข้อมูลบนเว็บเพจ เมื่อเราเชี่ยวชาญในการสร้าง เพิ่ม และลบ Element ได้อย่างมีประสิทธิภาพ เราจะสามารถยกระดับแอปพลิเคชันให้มีความซับซ้อน ฟังก์ชันครบถ้วน และมอบประสบการณ์ผู้ใช้ที่เหนือกว่าเว็บไซต์แบบเดิมๆ ซึ่งเป็นทักษะสำคัญที่ทุกนักพัฒนาต้องมีติดตัว


อ่านเพิ่มเติม