HTML DOM(Document Object Model)與元素標籤不是一個意思。
<button id="myBtn">點擊這裡</button>,屬於靜態文本。id、className 等)和方法(click()、addEventListener() 等)。每個 HTML 元素標籤在 DOM 樹中都有一個對應的 元素節點。例如:
// HTML 文檔
<button id="myBtn">點擊這裡</button>
// JavaScript 獲取對應的 DOM 元素節點
const btn = document.getElementById('myBtn'); // 返回 HTMLButtonElement 實例
console.log(btn.tagName); // "BUTTON"
btn.addEventListener('click', () => alert('DOM 節點的方法'));
| 維度 | HTML 元素標籤 | DOM 元素節點 |
|---|---|---|
| 存在階段 | 源碼/網絡傳輸階段 | 瀏覽器解析後、運行時 |
| 數據類型 | 純文本 | JavaScript 對象 |
| 可操作性 | 不可直接操作 | 可讀寫屬性、調用方法、綁定事件 |
| 生命週期 | 隨文檔加載/卸載 | 可動態創建、移除、替換 |
理解這層映射關係有助於:
document.createElement() 動態創建節點,而非拼接 HTML 字符串。textContent)比拼接 innerHTML 更安全。