什么是 DOM?
DOM(文档对象模型)是用于表示和操作 HTML/DOM 结构的标准接口。它允许 JavaScript 动态访问、更新或添加网页内容。
DOM(Document Object Model),即文档对象模型,是W3C制定的一项跨平台编程接口标准,其作用是将网页结构转换为树状对象的表示,以便脚本语言(如JavaScript)能动态访问、添加、修改或删除网页内容、结构和样式。
关键点概述:
- 基本概念:
- DOM 定义了网页的结构化模型,将HTML或XML文档视为一个由节点组成的树状数据结构。在这个树中,根节点为
document
对象,后续节点包括元素节点(如<div>
)、属性节点、文本节点等。 - 例如,当浏览器加载页面时,会解析HTML并构建DOM树。
- DOM 定义了网页的结构化模型,将HTML或XML文档视为一个由节点组成的树状数据结构。在这个树中,根节点为
- 核心组成部分:
- Document(文档对象): 作为入口点,提供操作整个文档的方法,如
document.getElementById()
来获取指定ID的元素。 - Element(元素对象): 代表HTML标签,如
<p>
或<div>
,允许操作属性或事件监听。 - Node(节点对象): 是所有DOM元素共有的接口,类型包括元素节点(
nodeType
=1)、文本节点(nodeType
=3)等12种,每种有其相关属性和方法(如appendChild()
)。
- Document(文档对象): 作为入口点,提供操作整个文档的方法,如
- 主要作用:
- DOM使JavaScript与网页交互成为可能。脚本可使用DOM接口实现动态效果,例如查找并修改元素:
// 查找所有段落元素并更新内容 const paragraphs = document.querySelectorAll("p"); paragraphs.innerHTML = "动态更新文本";
这体现为控制布局、响应用户事件等场景。
- DOM使JavaScript与网页交互成为可能。脚本可使用DOM接口实现动态效果,例如查找并修改元素:
- 技术特性:
- 标准性: 基于W3C DOM标准(常用DOM 3级以上版本),确保跨浏览器一致性(尽管少数兼容问题如IE的COM实现需注意)。
- 分离模型: DOM不是JavaScript语法,而是独立的标准编程接口。JavaScript调用DOM API来实现操作;例如,
window.document
访问文档对象模型。
简而言之,DOM 将静态文档转变为可编程的动态模型,是前端开发中页面操作的核心机制。