上一篇我們學會了變數、函式與流程控制,但程式只在 Console 裡執行,網頁本身並不會有任何變化。這一篇要學的是 JavaScript 與網頁互動的關鍵:DOM 操作與事件處理。學會之後,你就能做出按鈕點擊、表單驗證、動態新增內容等功能。
一、什麼是 DOM?
DOM(Document Object Model,文件物件模型)是瀏覽器把 HTML 轉換成的「樹狀結構」。每一個標籤都是樹上的一個節點,JavaScript 可以透過 DOM 讀取或修改網頁的內容、樣式與結構。
document
└─ html
├─ head
│ └─ title
└─ body
├─ h1
└─ p
在 JavaScript 中,document 物件就是進入這棵樹的入口。
二、選取元素
要操作元素,必須先「找到」它。現代寫法建議使用 querySelector 與 querySelectorAll,語法與 CSS 選擇器相同:
// 選取第一個符合的元素
const title = document.querySelector("h1");
const box = document.querySelector("#box"); // 以 id 選取
const item = document.querySelector(".item"); // 以 class 選取
// 選取所有符合的元素(回傳 NodeList,可用 for...of 或 forEach 走訪)
const items = document.querySelectorAll(".item");
items.forEach(el => console.log(el.textContent));
| 方法 | 回傳結果 |
|---|---|
| querySelector(選擇器) | 第一個符合的元素,找不到為 null |
| querySelectorAll(選擇器) | 所有符合的元素(NodeList) |
| getElementById(id) | 指定 id 的元素 |