การเข้าถึง Html Element /javascript

#พื้นฐานการเขียนเว็ปไซต์

#javascript

#การเข้าถึงhtmlElement

การอ้างอิง HTML Element ใน JavaScript เป็นขั้นตอนพื้นฐานในการจัดการและปรับเปลี่ยนเนื้อหา โครงสร้าง และรูปแบบของหน้าเว็บ (DOM Manipulation) วิธีที่ใช้บ่อยที่สุดมีดังนี้ครับ:

วิธีการอ้างอิง HTML Element ใน JavaScript

มีหลายเมธอดหลักๆ ในออบเจกต์ document ที่ใช้ในการเลือก Element:

1. เลือกจาก ID (id)

นี่เป็นวิธีที่ตรงไปตรงมาที่สุดและควรใช้เมื่อต้องการเลือก Element เดียวที่กำหนด id ที่ไม่ซ้ำกัน:

เมธอด: document.getElementById('elementId')

ผลลัพธ์: ส่งกลับ Element เดียว หรือ null ถ้าไม่พบ

ตัวอย่าง:

JavaScript

const myDiv = document.getElementById('main-content');

// myDiv จะอ้างอิงถึง <div id="main-content">...</div>

2. เลือกจาก Class (class)

ใช้เมื่อต้องการเลือก Element ทั้งหมดที่มีชื่อ class ที่ระบุ:

เมธอด: document.getElementsByClassName('className')

ผลลัพธ์: ส่งกลับ HTMLCollection ของ Element ทั้งหมดที่ตรงกัน (คล้ายอาร์เรย์ แต่ไม่ใช่)

ตัวอย่าง:

JavaScript

const items = document.getElementsByClassName('list-item');

// items จะเป็น Collection ของ <li> ที่มี class="list-item"

3. เลือกจาก Tag Name

ใช้เมื่อต้องการเลือก Element ทั้งหมดที่มีชื่อ Tag ที่ระบุ (เช่น div, p, a, button):

เมธอด: document.getElementsByTagName('tagName')

ผลลัพธ์: ส่งกลับ HTMLCollection ของ Element ทั้งหมดที่ตรงกัน

ตัวอย่าง:

JavaScript

const paragraphs = document.getElementsByTagName('p');

// paragraphs จะเป็น Collection ของ <p> ทั้งหมดในหน้า

4. เลือกโดยใช้ CSS Selector (Query Selector)

นี่เป็นวิธีการที่ยืดหยุ่นและเป็นที่นิยมที่สุดในปัจจุบัน เพราะสามารถใช้ CSS Selector ที่ซับซ้อนได้:

A. เลือก Element แรกที่ตรงกัน

เมธอด: document.querySelector('selector')

ผลลัพธ์: ส่งกลับ Element ตัวแรก ที่ตรงกับ Selector หรือ null ถ้าไม่พบ

ตัวอย่าง:

JavaScript

// เลือก Element แรกที่มี class เป็น 'active'

const activeElement = document.querySelector('.active');

// เลือกปุ่มที่มี ID เป็น 'submit-btn'

const submitButton = document.querySelector('#submit -btn');

// เลือก <p> ที่อยู่ภายใน <div>

const firstNestedP = document.querySelector('div > p');

B. เลือก Element ทั้งหมดที่ตรงกัน

เมธอด: document.querySelectorAll('selector')

ผลลัพธ์: ส่งกลับ NodeList ของ Element ทั้งหมดที่ตรงกับ Selector (คล้ายอาร์เรย์และสามารถใช้เมธอดเช่น forEach() ได้โดยตรง)

ตัวอย่าง:

JavaScript

// เลือก <a> ทั้งหมดที่มี attribute target="_blank"

const externalLinks = document.querySelectorAll('a[target="_blank"]');

// เลือก Element ทั้งหมดที่มี class เป็น 'highlight' และมี tag เป็น 'span'

const highlightedSpans = document.querySelectorAll('span.highlight');

สรุปการใช้งานที่แนะนำ

สถานการณ์ เมธอดที่แนะนำ เหตุผล

เลือก Element เดียว ด้วย ID document.getElementById() เร็วที่สุดและตรงประเด็นสำหรับ ID

เลือก Element เดียว ด้วย Selector ที่ซับซ้อน document.querySelector() ยืดหยุ่นที่สุดสำหรับ Selector ทั่วไป

เลือก หลาย Element ด้วย Class หรือ Selector อื่นๆ document.querySelectorAll() ใช้ CSS Selector ได้เต็มที่และส่งคืน NodeList ที่ใช้งานง่ายกว่า HTMLCollection

2025/10/25 แก้ไขแล้ว

... อ่านเพิ่มเติมเมื่อเราพูดถึงการเข้าถึง HTML Element ใน JavaScript นอกจากเมธอดพื้นฐานที่มีใน document เช่น document.getElementById, document.getElementsByClassName, document.getElementsByTagName และ document.querySelector, document.querySelectorAll แล้ว ยังมีประเด็นสำคัญที่ควรเข้าใจเพื่อพัฒนาการเขียนโค้ดที่มีประสิทธิภาพและเข้าใจง่ายมากขึ้น หนึ่งในข้อควรพิจารณาคือความแตกต่างระหว่าง NodeList และ HTMLCollection ซึ่ง document.getElementsByClassName และ document.getElementsByTagName จะส่งคืน HTMLCollection ที่เป็นออบเจ็กต์แบบไลฟ์ (live collection) หมายความว่าถ้ามีการเปลี่ยนแปลง DOM ที่ส่งผลต่อ Elements เหล่านั้น HTMLCollection ก็จะอัปเดตอัตโนมัติ ในขณะที่ document.querySelectorAll จะคืน NodeList ที่เป็น snapshot ณ เวลาที่เรียกใช้ ดังนั้นโครงสร้างข้อมูลหลังจากนี้จะไม่เปลี่ยนแปลงแม้ DOM จะเปลี่ยนไป นอกจากนั้น การเลือก Element ด้วย querySelector และ querySelectorAll สามารถใช้ CSS Selector ที่ซับซ้อนได้ เช่น selectors แบบหลายชั้น (descendant selectors), combinators (> + ~) หรือ selectors ตาม attribute ทำให้มีความยืดหยุ่นสูงสำหรับการคัดเลือก Element ที่เฉพาะเจาะจงมากขึ้น อีกประเด็นคือ การจัดการกับ Element ที่ถูกเลือก การใช้ document.getElementsByClassName หรือ getElementsByTagName ส่งคืนออบเจ็กต์ที่ไม่ใช่อาร์เรย์ แต่สามารถเข้าถึงโดยใช้ดัชนีและวนลูปได้โดยใช้ for หรือ for...of แต่ไม่สามารถใช้เมธอดของอาร์เรย์โดยตรง เช่น forEach, map ถ้าต้องการใช้ฟังก์ชันเหล่านี้อาจต้องแปลงเป็นอาร์เรย์ก่อน ส่วน NodeList ที่ได้จาก querySelectorAll สามารถใช้ forEach ได้โดยตรง สะดวกสำหรับการประมวลผลชุด Element หลายตัว ส่วนเรื่อง performance หากต้องการเลือก Element แบบเจาะจงเพียงหนึ่งเดียวและมี ID ควรใช้ document.getElementById เพราะเป็นวิธีที่เร็วและตรงไปตรงมาที่สุด แต่ถ้าจำเป็นต้องใช้ selectors ที่ซับซ้อน เช่น เลือก Element ตาม combination ของ class, attribute หรือ pseudo-class ต่างๆ การใช้ querySelector จะเหมาะสมกว่า เพื่อให้เข้าใจง่ายขึ้น ตัวอย่างการเลือก Element ที่มี class='highlight' และ tag เป็น span ด้วย querySelectorAll: const highlightedSpans = document.querySelectorAll('span.highlight'); ซึ่งจะส่งกลับ NodeList ที่สามารถใช้ forEach เพื่อทำงานกับ Element เหล่านี้ได้ทันที การเลือกวิธีที่เหมาะสมกับสถานการณ์จะช่วยให้โค้ดที่เขียนมีประสิทธิภาพมากขึ้นและง่ายต่อการดูแลรักษา เรียนรู้การใช้งานเมธอด document ต่างๆ อย่างเข้าใจช่วยให้เราสามารถจัดการ DOM ได้อย่างยืดหยุ่นและมีประสิทธิภาพในงานพัฒนาเว็บไซต์ด้วย JavaScript

โพสต์ที่เกี่ยวข้อง

ภาพบุคคลถือโทรศัพท์มือถือบังหน้าจอคอมพิวเตอร์ที่แสดงโค้ด พร้อมข้อความว่า "คำศัพท์ HTML ที่คนเขียนโค้ด ต้องรู้!!" และ "ส่วนผมก็ยังไม่รู้" เน้นย้ำถึงคำศัพท์ HTML ที่จำเป็นสำหรับนักพัฒนา
ภาพแสดงรายการคำศัพท์ HTML 10 คำแรก ได้แก่ Tag, Doctype, Head, Meta, Heading, Image, Body, Anchor, Div และ HTML พร้อมคำอธิบายสั้นๆ บนพื้นหลังหน้าจอคอมพิวเตอร์ที่แสดงโค้ด
ภาพแสดงรายการคำศัพท์ HTML ลำดับที่ 11-20 ได้แก่ Span, Break, Horizontal Rule, Form, Input, Button, Textarea, Blockquote, Placeholder และ Bold พร้อมคำอธิบายสั้นๆ บนพื้นหลังหน้าจอคอมพิวเตอร์ที่แสดงโค้ด
คำศัพท์ HTML ที่คนเขียนโค้ดต้องรู้ !✨
1. Tag - เครื่องหมายที่ใช้กำหนดโครงสร้างของ HTML 2. Doctype (<!DOCTYPE html>) - ประกาศเวอร์ชันของ HTML ที่ใช้ 3. Head - ส่วนที่ใช้กำหนดข้อมูลของเอกสาร(metadata) 4. Meta - แท็กที่ใช้กำหนดข้อมูลเกี่ยวกับเอกสาร เช่น charset, description 5. Heading (<h1> - <h6>) - หัวข้อของเนื้อหา
Dekrian_04

Dekrian_04

ถูกใจ 302 ครั้ง

Html cheat sheet
Html cheat sheet #ติดเทรนด์ #lemon8ไดอารี่ #Lemon8ฮาวทู #ไอทีน่ารู้ #freedomhack
FreedomHack 󱢏

FreedomHack 󱢏

ถูกใจ 2 ครั้ง

ครูฝน

ครูฝน

ถูกใจ 3 ครั้ง

footer ส่วนท้ายหน้าเว็บไซต์
#footer #css #html #พื้นฐานการเขียนเว็ปไซต์ #เว็ปไซต์ ง่ายๆ Footer (ฟุตเตอร์) คือ ส่วนท้ายของเว็บไซต์ ที่อยู่ด้านล่างสุดของทุกหน้าเว็บ และจะแสดงเหมือนกันในทุกหน้าเว็บไซต์ ทำหน้าที่เป็นที่รวมข้อมูลสำคัญที่ผู้เข้าชมอาจต้องการ เช่น ข้อมูลติดต่อ, ลิงก์โซเชียลมีเดีย, ลิงก์เมนูย่อย, ข้อม
ขีดเขียน

ขีดเขียน

ถูกใจ 2 ครั้ง

แจก promt สร้างเวบดูดวงของตัวเอง
ใส่ตามนี้ได้เลย ⬇️ ทำแล้วแม่นมั้ยอย่าลืมมาแชร์กันด้วยนะ 😆 เขียนเวบ ทำนายไพ่ยิปซี แบบดูส่วนตัว พร้อมคำทำนายอย่างละเอียด ให้คำทำนายเกี่ยวกับเนื้อหาและเกี่ยวกับกับหัวข้อที่ให้เลือกด้วย #ติดเทรนด์ #ป้ายยากับlemon8 #aigemini #promt #อัพเดตดวง
Thunya Nawa

Thunya Nawa

ถูกใจ 6 ครั้ง

DAY 3📍 42 Bangkok (KMITL)
Discovery Piscine 📍 42 Bangkok (KMITL) . 14 October 2026 DAY 3 (Wednesday) Learn Coding : HTML, CSS, and #JavaScript . Peer-to-Peer 24/7 24 ชั่วโมง . #42Bangkok #KMITL #allianz #สิริฏวัฒน์ลี้พ้นพาล
sirittawat

sirittawat

ถูกใจ 1 ครั้ง

การเรียน HTMLคือก้าวสำคัญของการเปลี่ยนแปลงเว็บไซต์
#ClinicWeb #เว็บไซต์ #เขียนเว็บไซต์ #website #html
Clinic Web

Clinic Web

ถูกใจ 4 ครั้ง

ใครใช้ตัวไหนบ้าง คอมเมนต์บอกหน่อยนะครับ
#framework #javascript #react #express #flutter #สร้างเว็บไซต์
นักเดฟ - NakDev

นักเดฟ - NakDev

ถูกใจ 6 ครั้ง

ภาพหน้าปกแสดงหัวข้อ 'วิธีใช้ Sonnet 4.5 โมเดลเขียนโค้ดสุดโหด จาก Claude AI Prompt ภาษาไทยได้' บนพื้นหลังสีเบจ พร้อมโลโก้ Lemon8
ภาพหน้าจอการดาวน์โหลด Node.js v22.20.0 (LTS) สำหรับ macOS พร้อมคำสั่งติดตั้ง nvm และ Node.js โดยมีตัวการ์ตูนถือแมวนั่งอยู่ด้านล่าง
ภาพหน้าจอ Terminal แสดงคำสั่ง 'npm install -g @anthropic-ai/claude-code' สำหรับติดตั้ง Claude Code พร้อมข้อความ 'เปิด Terminal หรือ CMD' และ 'แล้ววางคอมมานด์นี้'
วิธีใช้ Sonnet 4.5 โมเดลเขียนโค้ดสุดโหด
เขียนให้ --> แก้ให้ --> สั่งให้รันให้ก็ทำ ส่วนเราแค่นั่ง Prompt แต่รู้ด้วยก็ดีว่าทำอะไรอยู่555 #ai #codingtips #โปรแกรมเมอร์
นายปะจิ

นายปะจิ

ถูกใจ 38 ครั้ง

deployed หน้าเว็บไซต์
#พื้นฐานการเขียนเว็ปไซต์ #google #appscrip t ขั้นตอนที่ การ Deploy (เผยแพร่) 1. ไปที่เมนู "Deploy": ใน Apps Script Editor คลิกที่ปุ่ม "Deploy" (ด้านบนขวา) จากนั้นเลือก "การทำให้ใช้งานได้ใหม่" หรือ "New deployment" 2. เลือกประเภทการ Deploy: เลือกประ
ขีดเขียน

ขีดเขียน

ถูกใจ 3 ครั้ง

How to Full-Stack Developer
อย่าหยุดวิ่งตาม tech ! ถ้ารายได้ยังไม่ 100k+ #developer #ติดเทรนด์ #งานรายได้ดี
Dobby

Dobby

ถูกใจ 5 ครั้ง

ตัวดำเนินการเปรียบเทียบ /JavaScript
#พื้นฐานการเขียนเว็ปไซต์ #javascript #ตัวดำเนินการเปรียบเทียบ ตัวดำเนินการเปรียบเทียบ (Comparison Operators) ใน JavaScript ใช้สำหรับเปรียบเทียบค่าสองค่าและจะส่งกลับค่าเป็นบูลีน (Boolean) คือ true หรือ false ครับ (ค่ะ) นี่คือตัวดำเนินการเปรียบเทียบหลัก ๆ ที่ใช้ใน JavaScript: ตัวดำเ
ขีดเขียน

ขีดเขียน

ถูกใจ 1 ครั้ง

ตัวดำเนินการเพิ่ม และลดค่า/JavaScript
#พื้นฐานการเขียนเว็ปไซต์ #javascript #ตัวดำเนินการลดค่าเพิ่มค่า ใน JavaScript ตัวดำเนินการเพิ่มค่าคือ ++ ใช้เพิ่มค่าตัวแปรทีละ 1 และตัวดำเนินการลดค่าคือ -- ใช้ลดค่าตัวแปรทีละ 1 โดยทั้งสองตัวสามารถวางไว้ หน้า (prefix) หรือ หลัง (postfix) ตัวแปรได้ ซึ่งการวางตำแหน่งจะมีผลต่อลำดับการทำงาน
ขีดเขียน

ขีดเขียน

ถูกใจ 4 ครั้ง

ภาพแสดงตัวอย่างโค้ด HTML สำหรับองค์ประกอบการจัดรูปแบบข้อความ เช่น <b> ตัวหนา, <i> ตัวเอียง, <mark> เน้นข้อความ, <small> ขนาดเล็ก, <del> ขีดทับ, <ins> ขีดเส้นใต้, <sub> ตัวห้อย และ <sup> ตัวยก พร้อมคำอธิบายภาษาไทย.
พื้นฐาน tag Html
องค์ประกอบการจัดรูปแบบ HTML (HTML Formatting Elements) คือชุดคำสั่งในภาษา HTML ที่ใช้ในการกำหนดรูปแบบของข้อความบนหน้าเว็บ เช่น การทำให้ข้อความหนา ตัวเอียง หรือการขีดเส้นใต้. องค์ประกอบการจัดรูปแบบ HTML ที่พบบ่อย: <b>: ทำให้ข้อความเป็นตัวหนา. <strong>: ทำให้ข้อความเป็นตัวหนา และมีควา
ขีดเขียน

ขีดเขียน

ถูกใจ 3 ครั้ง

ส่วนประกอบของหน้าเว็ปไซต์
#พื้นฐานเขียนเว็ปไซต์ #css #html ส่วนประกอบหลักของหน้าเว็บไซต์โดยทั่วไปมี 3 ส่วนคือ ส่วนหัว (Header) ซึ่งมีโลโก้ ชื่อเว็บไซต์ และเมนูหลัก, ส่วนเนื้อหา (Body/Content) ที่แสดงข้อมูลหลัก เช่น ข้อความ รูปภาพ วิดีโอ และอื่นๆ, และ ส่วนท้าย (Footer) ที่แสดงข้อมูลเพิ่มเติม เช่น ข้อมูลติดต่อ
ขีดเขียน

ขีดเขียน

ถูกใจ 8 ครั้ง

JavaScript...!! ??
#พื้นฐานการเขียนเว็ปไซต์ #google #appscript
ขีดเขียน

ขีดเขียน

ถูกใจ 4 ครั้ง

ตัวดำเนินการทางตรรกศาสตร์/JavaScript
#พื้นฐานการเขียนเว็ปไซต์ #javascrip #ตัวดำเนินการทางตรรกศาสตร์ ตัวดำเนินการทางตรรกศาสตร์ (Logical Operators) ใน JavaScript ใช้ประเมินค่าตรรกะ (Boolean: true หรือ false) หรือเพื่อควบคุมการทำงานตามเงื่อนไข พวกมันทำงานบนหลักการที่เรียกว่า Short-Circuit Evaluation ซึ่งหมายความว่ามันอาจจะหยุ
ขีดเขียน

ขีดเขียน

ถูกใจ 2 ครั้ง

แปลงข้อมูล ค่าของตัวแปร datatype
#พื้นฐานการเขียนเว็ปไซต์ #javascrip #datatype การแปลงชนิดข้อมูล (Type Conversion หรือ Type Casting) ใน JavaScript ทำได้หลายวิธี ขึ้นอยู่กับว่าคุณต้องการแปลงข้อมูลให้เป็นชนิดใด หลักๆ จะเป็นการแปลงไปมาระหว่าง String, Number และ Boolean นี่คือวิธีการหลักๆ ในการแปลงชนิดข้อมูล: 1. การแ
ขีดเขียน

ขีดเขียน

ถูกใจ 3 ครั้ง

css animation+transform
#พื้นฐานการเขียนเว็ปไซต์ #tranform #animation #css CSS Animation คือ ฟีเจอร์ใน CSS ที่ให้คุณสร้างภาพเคลื่อนไหวหรือการเปลี่ยนแปลงของเอลิเมนต์บนเว็บเพจได้อย่างราบรื่นและมีขั้นตอน โดยใช้ชุดคำสั่งที่เรียกว่า Keyframes ในการกำหนดสถานะต่างๆ ของเอลิเมนต์ และใช้ property แอนิเมชัน ในการควบค
ขีดเขียน

ขีดเขียน

ถูกใจ 6 ครั้ง

ภาพแสดงโลโก้ HTML5 และ CSS พร้อมโค้ด HTML, CSS และ JavaScript ประกอบข้อความ “Html และ CSS เกี่ยวข้องกันอย่างไร” ซึ่งสื่อถึงความสัมพันธ์ระหว่างภาษาทั้งสองในการสร้างหน้าเว็บ
ภาษา html กับ ภาษา css สัมพันธ์กันอย่างไร
HTML และ CSS ทำงานร่วมกันเพื่อสร้างหน้าเว็บที่สวยงามและมีโครงสร้างที่ถูกต้อง HTML เปรียบเสมือนโครงกระดูกของหน้าเว็บ โดยทำหน้าที่กำหนดเนื้อหาและโครงสร้างของหน้าเว็บ เช่น หัวข้อ ย่อหน้า รูปภาพ และลิงก์ ในขณะที่ CSS เปรียบเสมือนเสื้อผ้าของหน้าเว็บ ทำหน้าที่กำหนดรูปแบบการแสดงผลของเนื้อหา เช่น สี แบบอัก
ขีดเขียน

ขีดเขียน

ถูกใจ 6 ครั้ง

ตัวดำเนินการทางคณิตศาสตร์ ใน javay
#พื้นฐานการเขียนเว็ปไซต์ #javascrip #ตัวดำเนินการทางคณิตศาสตร์ ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operators) ใน JavaScript คือเครื่องหมายที่ใช้ในการคำนวณทางคณิตศาสตร์ระหว่างค่าตัวเลข (operands) เพื่อให้ได้ผลลัพธ์เป็นค่าตัวเลขใหม่ ตัวดำเนินการพื้นฐานที่ใช้บ่อยมีดังนี้ครับ: ตัวดำเน
ขีดเขียน

ขีดเขียน

ถูกใจ 5 ครั้ง

switch Toggle
#พื้นฐานการเขียนเว็ปไซต์ #switch toggle #css Switch toggle CSS คือ ส่วนประกอบ UI บนเว็บไซต์ที่ผู้ใช้สามารถคลิกเพื่อสลับเปลี่ยนระหว่างสองสถานะ (เช่น เปิด-ปิด, แสง-มืด, ใช่-ไม่ใช่) โดยใช้ HTML checkbox ร่วมกับ CSS เพื่อสร้างลักษณะการทำงานแบบสวิตช์ที่สวยงามและไม่ต้องเขียน JavaScript.
ขีดเขียน

ขีดเขียน

ถูกใจ 5 ครั้ง

ดูเพิ่มเติม