DOM 是 Document Object Model(文档对象模型)的缩写。
HTML 的标准对象模型
HTML 的标准编程接口
HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。
HTML
DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。
通过
HTML DOM,树中的所有节点均可通过 JavaScript 进行访问。所有 HTML 元素(节点)均可被修改,也可以创建或删除节点。
DOM 教程DOM 第一课
Hello world!
从上面的 HTML 中:
节点没有父节点;它是根节点
文本节点 "Hello world!" 的父节点是
节点
并且:
节点拥有两个子节点:
和 节点 节点也拥有一个子节点:文本节点 "DOM 教程"和
节点是同胞节点,同时也是
的子节点并且:
元素是 元素的首个子节点
元素是
元素的最后一个子节点所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
方法是您能够执行的动作(比如添加或修改元素)。属性是您能够获取或设置的值(比如节点的名称或内容)。
HTML DOM 对象 - 方法和属性
一些常用的 HTML DOM 方法:
getElementById(id) - 获取带有指定 id 的节点(元素)
appendChild(node) - 插入新的子节点(元素)
removeChild(node) - 删除子节点(元素)
一些常用的 HTML DOM 属性:
innerHTML - 节点(元素)的文本值
parentNode - 节点(元素)的父节点
childNodes - 节点(元素)的子节点
attributes - 节点(元素)的属性节点
一些 DOM 对象方法
这里提供一些您将在本教程中学到的常用方法:
方法
描述
getElementById()
返回带有指定 ID 的元素。
getElementsByTagName()
返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName()
返回包含带有指定类名的所有元素的节点列表。
appendChild()
把新的子节点添加到指定节点。
removeChild()
删除子节点。
replaceChild()
替换子节点。
insertBefore()
在指定的子节点前面插入新的子节点。
createAttribute()
创建属性节点。
createElement()
创建元素节点。
createTextNode()
创建文本节点。
getAttribute()
返回指定的属性值。
setAttribute()
把指定属性设置或修改为指定的值。
innerHTML 属性可用于获取或改变任意 HTML 元素,包括 和
。所有
HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
nodeName
始终包含 HTML 元素的大写字母标签名。
nodeName 属性
nodeName 属性规定节点的名称。
nodeName 是只读的
元素节点的 nodeName 与标签名相同
属性节点的 nodeName 与属性名相同
文本节点的 nodeName 始终是 #text
文档节点的 nodeName 始终是 #document
注释:nodeName 始终包含 HTML 元素的大写字母标签名。
nodeValue 属性
nodeValue 属性规定节点的值。
元素节点的 nodeValue 是 undefined 或 null
文本节点的 nodeValue 是文本本身
属性节点的 nodeValue 是属性值
nodeType 属性
nodeType 属性返回节点的类型。nodeType 是只读的。
比较重要的节点类型有:
元素类型
NodeType
元素
1
属性
2
文本
3
注释
8
文档
9