DOM是Document Object Model文档对象模型的缩写。根据W3C DOM规范,DOM是一种与浏览器,平台,语言无关的接口,使得你可以访问页面其他的标准组件。
D:文档 – html 文档 或 xml 文档
O:对象 – document 对象的属性和方法
M:模型
DOM 是针对xml(html)的基于树的API。
DOM树:节点(node)的层次。
DOM 把一个文档表示为一棵家谱树(父,子,兄弟)
DOM定义了Node的接口以及许多种节点类型来表示XML节点的多个方面
相关文档和API:点击打开链接
DOM的结构:
节点及其类型:
节点
* 由结构图中我们可以看到,整个文档就是一个文档节点。
* 而每一个HMTL标签都是一个元素节点。
* 标签的属性是属性节点。
* 标签的属性是属性节点。
* 标签中的文字则是文本节点。
* 一切都是节点……
节点树
节点树的概念从图中一目了然,最上面的就是“树根”了。节点之间有父子关系,祖先与子孙关系,兄妹关系。这些关系从图中也很好看出来,直接连线的就是父子关系了。而有一个父亲的就是兄妹关系……
Node接口的属性和方法:
|
属性/方法 |
类型/返回类型 |
说 明 |
|
nodeName |
String |
节点的名字;根据节点的类型而定义 |
|
nodeValue |
String |
节点的值;根据节点的类型而定义 |
|
nodeType |
Number |
节点的类型常量值之一 |
|
ownerDocument |
Document |
指向这个节点所属的文档 |
|
firstChild |
Node |
指向在childNodes列表中的第一个节点 |
|
lastChild |
Node |
指向在childNodes列表中的最后一个节点 |
|
childNodes |
NodeList |
所有子节点的列表 |
|
previousSibling |
Node |
指向前一个兄弟节点;如果这个节点就是第一个兄弟节 点,那么该值为null |
|
nextSibling |
Node |
指向后一个兄弟节点;如果这个节点就是最后一个兄弟节 点,那么该值为null |
|
hasChildNodes() |
Boolean |
当childNodes包含一个或多个节点时,返回真 |
|
attributes |
NamedNodeMap |
包含了代表一个元素的特性的Attr对象;仅用于Element 节点 |
|
appendChild(node) |
Node |
将node添加到childNodes的末尾 |
|
removeChild(node) |
Node |
从childNodes中删除node |
|
replaceChild |
Node |
将childNodes中的oldnode替换成newnode |
|
insertBefore |
Node |
在childNodes中的refnode之前插入newnode |