PlusMagi's Blog By Pitt Phunsanit Frontend,JavaScript,jQuery,Programming,Web การปรับแต่ง Style และอ่านค่า Attribute ด้วย Pure JS แทนการใช้ $.css() และ $.attr()

การปรับแต่ง Style และอ่านค่า Attribute ด้วย Pure JS แทนการใช้ $.css() และ $.attr()

ในโลกของการพัฒนาเว็บสมัยใหม่ การมุ่งเน้นไปที่ประสิทธิภาพและความเบาของโค้ดถือเป็นหัวใจสำคัญอย่างยิ่ง นักพัฒนามักจะคุ้นเคยกับการใช้ไลบรารีภายนอก เช่น jQuery ซึ่งช่วยให้การจัดการ DOM (Document Object Model) เป็นเรื่องง่ายและรวดเร็ว อย่างไรก็ตาม เมื่อแอปพลิเคชันมีความซับซ้อนมากขึ้น การพึ่งพาไลบรารีขนาดใหญ่เพียงเพื่อฟังก์ชันพื้นฐานอย่างการเปลี่ยนสไตล์หรืออ่านค่า Attribute อาจกลายเป็นคอขวดด้านประสิทธิภาพ และเพิ่มภาระในการจัดการ Dependencies โดยไม่จำเป็น


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

แก่นแท้ของการพัฒนาด้วย Pure JavaScript คือการใช้ API ที่เบราว์เซอร์มีให้ในตัว (Native APIs) โดยตรง แทนที่จะอาศัยชั้นนามธรรม (Abstraction Layer) ของไลบรารีภายนอก เมื่อเราต้องการปรับแต่งสไตล์ เราควรเข้าถึงคุณสมบัติ `style` ของ Element นั้นๆ หรือจัดการผ่าน CSS Class List ในขณะที่การอ่านค่า Attribute ต่างๆ ก็สามารถทำได้ด้วยเมธอดมาตรฐานอย่าง getAttribute() การเปลี่ยนแนวทางนี้ไม่เพียงแต่ช่วยลดขนาด Bundle Size แต่ยังทำให้โค้ดของเรามีความเข้าใจในกลไกของเบราว์เซอร์มากขึ้น

การทำความเข้าใจถึงวิธีการทำงานระดับพื้นฐานเช่นนี้จะช่วยให้เราเขียนโค้ดที่รวดเร็วและมีประสิทธิภาพสูงสุด (Performance-Optimized) โดยเฉพาะอย่างยิ่งในบริบทของ WordPress Gutenberg ที่ต้องการความคล่องตัวและความแม่นยำในการจัดการองค์ประกอบต่างๆ การหลีกเลี่ยงการเรียกใช้ฟังก์ชันที่ไม่จำเป็นจึงเป็นแนวทางปฏิบัติที่ดีที่สุดสำหรับ Senior Developer

const element = document.getElementById('myElement');

// 1. การปรับแต่ง Style ด้วย Pure JS (แทน $.css())
element.style.backgroundColor = 'blue'; // เปลี่ยนสีพื้นหลัง
element.style.fontSize = '20px';       // กำหนดขนาดตัวอักษร

// หรือการจัดการ Class List เพื่อความสะอาดของโค้ด
element.classList.add('active-state'); 
element.classList.remove('hidden');


// 2. การอ่านค่า Attribute ด้วย Pure JS (แทน $.attr())
const dataValue = element.getAttribute('data-custom-id'); // อ่านค่าจาก attribute ที่กำหนดเอง
const srcAttribute = element.querySelector('img').getAttribute('src'); // อ่านค่า src ของรูปภาพ

console.log(`Data ID: ${dataValue}`);


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

  • การเพิ่มประสิทธิภาพในระบบขนาดใหญ่ (Performance Optimization): เมื่อแอปพลิเคชันมีองค์ประกอบจำนวนมาก การลด Overhead ของไลบรารีที่ไม่จำเป็นจะส่งผลโดยตรงต่อความเร็วในการโหลดและการตอบสนองของหน้าเว็บ ทำให้ประสบการณ์ผู้ใช้ดีขึ้นอย่างเห็นได้ชัด
  • การทำงานร่วมกับ Frameworks สมัยใหม่ (Modern Framework Compatibility): การเขียนโค้ดด้วย Native JS ทำให้เราสามารถผสานรวม Logic เข้ากับ React, Vue หรือ Svelte ได้อย่างราบรื่น โดยไม่เกิด Conflict กับระบบจัดการ State ของ Framework นั้นๆ

การเปลี่ยนมาใช้ Pure JS ไม่ใช่แค่การแทนที่ Syntax แต่เป็นการยกระดับแนวคิดในการเขียนโค้ดให้มีความเข้าใจในระดับกลไกของเว็บเบราว์เซอร์อย่างแท้จริง ซึ่งเป็นทักษะสำคัญที่ Senior Developer ทุกคนควรมี เพื่อสร้างสรรค์โซลูชันที่มีประสิทธิภาพสูงสุดและรองรับอนาคตของการพัฒนาเว็บได้อย่างยั่งยืน


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