DOM

文件物件模型

DOM 概述

DOM (Document Object Model) 是瀏覽器將 HTML 文件解析為的樹狀結構,允許 JavaScript 動態存取和修改網頁內容、結構與樣式。

選取元素

// 單一元素
const el = document.querySelector('#app');
const el = document.getElementById('app');

// 多個元素
const els = document.querySelectorAll('.item');
const els = document.getElementsByClassName('item');

// 走訪 DOM 樹
const parent = el.parentElement;
const children = el.children;
const next = el.nextElementSibling;

修改元素

// 修改內容
el.textContent = '新內容';
el.innerHTML = '<strong>HTML</strong>';

// 修改屬性
el.setAttribute('data-id', '123');

// 修改類別
el.classList.add('active');
el.classList.remove('active');
el.classList.toggle('active');

// 修改樣式
el.style.color = 'red';

建立與插入元素

const newEl = document.createElement('div');
newEl.textContent = '新元素';
parent.appendChild(newEl);
parent.insertBefore(newEl, reference);
el.insertAdjacentHTML('beforeend', '<span>內容</span>');
el.remove();

事件處理

el.addEventListener('click', (event) => {
console.log('Clicked!', event.target);
});

// 事件委託
document.querySelector('.list').addEventListener('click', (e) => {
if (e.target.matches('.item')) {
console.log('Item clicked');
}
});

本課程範例

相關連結