
- JavaScript 基礎教程
- JavaScript - 首頁
- JavaScript - 路線圖
- JavaScript - 概述
- JavaScript - 特性
- JavaScript - 啟用
- JavaScript - 位置
- JavaScript - 語法
- JavaScript - Hello World
- JavaScript - Console.log()
- JavaScript - 註釋
- JavaScript - 變數
- JavaScript - let 語句
- JavaScript - 常量
- JavaScript - 資料型別
- JavaScript - 型別轉換
- JavaScript - 嚴格模式
- JavaScript - 保留關鍵字
- JavaScript 運算子
- JavaScript - 運算子
- JavaScript - 算術運算子
- JavaScript - 比較運算子
- JavaScript - 邏輯運算子
- JavaScript - 位運算子
- JavaScript - 賦值運算子
- JavaScript - 條件運算子
- JavaScript - typeof 運算子
- JavaScript - 空值合併運算子
- JavaScript - delete 運算子
- JavaScript - 逗號運算子
- JavaScript - 分組運算子
- JavaScript - yield 運算子
- JavaScript - 展開運算子
- JavaScript - 冪運算子
- JavaScript - 運算子優先順序
- JavaScript 控制流
- JavaScript - if...else
- JavaScript - while 迴圈
- JavaScript - for 迴圈
- JavaScript - for...in
- JavaScript - for...of
- JavaScript - 迴圈控制
- JavaScript - break 語句
- JavaScript - continue 語句
- JavaScript - switch case
- JavaScript - 使用者定義迭代器
- JavaScript 函式
- JavaScript - 函式
- JavaScript - 函式表示式
- JavaScript - 函式引數
- JavaScript - 預設引數
- JavaScript - Function() 建構函式
- JavaScript - 函式提升
- JavaScript - 自執行函式
- JavaScript - 箭頭函式
- JavaScript - 函式呼叫
- JavaScript - Function call()
- JavaScript - Function apply()
- JavaScript - Function bind()
- JavaScript - 閉包
- JavaScript - 變數作用域
- JavaScript - 全域性變數
- JavaScript - 智慧函式引數
- JavaScript 物件
- JavaScript - Number
- JavaScript - Boolean
- JavaScript - String
- JavaScript - Array
- JavaScript - Date
- JavaScript - DataView
- JavaScript - Handler
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - Set
- JavaScript - WeakSet
- JavaScript - Map
- JavaScript - WeakMap
- JavaScript - 可迭代物件
- JavaScript - Reflect
- JavaScript - TypedArray
- JavaScript - 模板字面量
- JavaScript - 標籤模板
- 面向物件 JavaScript
- JavaScript - 物件
- JavaScript - 類
- JavaScript - 物件屬性
- JavaScript - 物件方法
- JavaScript - 靜態方法
- JavaScript - 顯示物件
- JavaScript - 物件訪問器
- JavaScript - 物件建構函式
- JavaScript - 原生原型
- JavaScript - ES5 物件方法
- JavaScript - 封裝
- JavaScript - 繼承
- JavaScript - 抽象
- JavaScript - 多型
- JavaScript - 解構賦值
- JavaScript - 物件解構
- JavaScript - 陣列解構
- JavaScript - 巢狀解構
- JavaScript - 可選鏈
- JavaScript - 全域性物件
- JavaScript - Mixin
- JavaScript - Proxy
- JavaScript 版本
- JavaScript - 歷史
- JavaScript - 版本
- JavaScript - ES5
- JavaScript - ES6
- ECMAScript 2016
- ECMAScript 2017
- ECMAScript 2018
- ECMAScript 2019
- ECMAScript 2020
- ECMAScript 2021
- ECMAScript 2022
- JavaScript 非同步程式設計
- JavaScript - 非同步程式設計
- JavaScript - 回撥函式
- JavaScript - Promise
- JavaScript - Async/Await
- JavaScript - 微任務
- JavaScript - Promisification
- JavaScript - Promise 鏈式呼叫
- JavaScript - 定時事件
- JavaScript - setTimeout()
- JavaScript - setInterval()
- JavaScript Cookie
- JavaScript - Cookie
- JavaScript - Cookie 屬性
- JavaScript - 刪除 Cookie
- JavaScript 瀏覽器 BOM
- JavaScript - 瀏覽器物件模型
- JavaScript - Window 物件
- JavaScript - Document 物件
- JavaScript - Screen 物件
- JavaScript - History 物件
- JavaScript - Navigator 物件
- JavaScript - Location 物件
- JavaScript - Console 物件
- JavaScript Web API
- JavaScript - Web API
- JavaScript - History API
- JavaScript - Storage API
- JavaScript - Forms API
- JavaScript - Worker API
- JavaScript - Fetch API
- JavaScript - Geolocation API
- JavaScript 事件
- JavaScript - 事件
- JavaScript - DOM 事件
- JavaScript - addEventListener()
- JavaScript - 滑鼠事件
- JavaScript - 鍵盤事件
- JavaScript - 表單事件
- JavaScript - Window/Document 事件
- JavaScript - 事件委託
- JavaScript - 事件冒泡
- JavaScript - 事件捕獲
- JavaScript - 自定義事件
- JavaScript 錯誤處理
- JavaScript - 錯誤處理
- JavaScript - try...catch
- JavaScript - 除錯
- JavaScript - 自定義錯誤
- JavaScript - 擴充套件錯誤
- JavaScript 重要關鍵字
- JavaScript - this 關鍵字
- JavaScript - void 關鍵字
- JavaScript - new 關鍵字
- JavaScript - var 關鍵字
- JavaScript HTML DOM
- JavaScript - HTML DOM
- JavaScript - DOM 方法與屬性
- JavaScript - DOM Document
- JavaScript - DOM 元素
- JavaScript - DOM 屬性 (Attr)
- JavaScript - DOM 表單
- JavaScript - 修改 HTML
- JavaScript - 修改 CSS
- JavaScript - DOM 動畫
- JavaScript - DOM 導航
- JavaScript - DOM 集合
- JavaScript - DOM NodeList
- JavaScript - DOM DOMTokenList
- JavaScript 其他
- JavaScript - Ajax
- JavaScript - 非同步迭代
- JavaScript - Atomics 物件
- JavaScript - rest 引數
- JavaScript - 頁面重定向
- JavaScript - 對話方塊
- JavaScript - 頁面列印
- JavaScript - 驗證
- JavaScript - 動畫
- JavaScript - 多媒體
- JavaScript - 圖片地圖
- JavaScript - 瀏覽器
- JavaScript - JSON
- JavaScript - 多行字串
- JavaScript - 日期格式
- JavaScript - 獲取日期的方法
- JavaScript - 設定日期的方法
- JavaScript - 模組
- JavaScript - 動態匯入
- JavaScript - BigInt
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - 淺複製
- JavaScript - 呼叫棧
- JavaScript - 引用型別
- JavaScript - IndexedDB
- JavaScript - 點選劫持攻擊
- JavaScript - 柯里化
- JavaScript - 圖形
- JavaScript - Canvas
- JavaScript - 防抖
- JavaScript - 效能
- JavaScript - 風格指南
JavaScript - 文件物件模型 (DOM)
HTML DOM 允許 JavaScript 訪問和修改 HTML 元素的內容。JavaScript 可以更改頁面中的所有 HTML 元素、屬性、CSS 樣式。JavaScript 還可以新增、刪除 HTML 元素和屬性。使用 JavaScript,我們甚至可以在頁面中建立新的事件。
每個網頁都位於瀏覽器視窗內,可以將其視為一個物件。
Document 物件表示顯示在該視窗中的 HTML 文件。Document 物件具有各種屬性,這些屬性引用其他物件,這些物件允許訪問和修改文件內容。
什麼是 DOM?
DOM 是文件物件模型 (Document Object Model) 的縮寫。它是一個用於 Core、XML 和 HTML DOM 的程式設計介面。
它是 W3C(全球資訊網聯盟)標準。
DOM 定義了網頁或文件的邏輯或樹狀結構。在樹中,每個分支都以一個節點結束,每個節點都包含物件。DOM 方法允許我們以程式設計方式訪問樹。使用 DOM 方法,您可以更改文件的結構、內容或樣式。
什麼是 HTML DOM?
HTML 建立網頁的結構,JavaScript 透過操作 HTML 元素向網頁新增互動。
JavaScript 無法直接與 HTML 元素互動。因此,每當網頁在瀏覽器中載入時,它都會建立一個 DOM。
因此,文件物件表示顯示在該視窗中的 HTML 文件。此外,網頁中的每個 iframe 都建立一個新的 DOM。Document 物件具有各種屬性,這些屬性引用其他物件,這些物件允許訪問和修改文件內容。
訪問和修改文件內容的方式稱為文件物件模型或DOM。物件以層次結構組織。這種層次結構適用於 Web 文件中物件的組織。
Window 物件- 它表示瀏覽器的當前視窗。它也充當瀏覽器視窗的全域性物件。它位於層次結構的頂部。它是物件層次結構的最外層元素。
Document 物件- 載入到視窗中的每個 HTML 文件都成為一個文件物件。文件包含頁面的內容。它用於訪問和修改網頁的元素。
Form 物件- 包含在 <form>...</form> 標記中的所有內容都設定 Form 物件。
表單控制元件元素- Form 物件包含為此物件定義的所有元素,例如文字欄位、按鈕、單選按鈕和複選框。
以下是一些重要物件的簡單層次結構:

存在多個 DOM。以下部分將詳細解釋這些 DOM 中的每一個,並描述如何使用它們來訪問和修改文件內容。
傳統 DOM - 這是在早期版本的 JavaScript 語言中引入的模型。所有瀏覽器都很好地支援它,但它只能訪問文件的某些關鍵部分,例如表單、表單元素和影像。
W3C DOM - 此文件物件模型允許訪問和修改所有文件內容,並由全球資訊網聯盟 (W3C) 標準化。幾乎所有現代瀏覽器都支援此模型。
根據 W3C,DOM 有三種不同的型別。
Core DOM - 它是所有文件型別的標準模型。
HTML DOM - 它是 HTML 文件的標準模型。
XML DOM - 它是 XML 文件的標準模型。
為什麼需要 DOM?
如上所述,當網頁載入到瀏覽器視窗中時,它會成為一個文件物件。
之後,JavaScript 可以訪問 HTML 元素並在其上執行其他操作。這意味著 JavaScript 可以使用 HTML DOM 與網頁互動。
例如,JavaScript 可以使用文件物件對 HTML 元素執行以下操作。
訪問 HTML 元素
替換 HTML 元素
新增新的 HTML 元素
刪除 HTML 元素
更改 HTML 元素的 CSS
更改 HTML 元素的屬性
向HTML元素新增動畫
向HTML元素新增事件
然而,文件物件還有其他用途,我們將在後續章節中介紹。
DOM介面
DOM介面是DOM的實際元件,它們與JavaScript或任何其他程式語言一起工作以操縱網頁。它們提供各種方法和屬性來互動和操縱網頁。
DOM介面列表如下: