DOM简单介绍
一、Dom:DOM=Document Object Model,文档对象模型。 DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。有一点很重要,DOM的设计是以对象管理组织(OMG的)规约为基础的,因此可以用于任何编程语言。
D:文档 -html 文档 或 xml 文档
O:对象 -document 对象的属性和方法
M:模型 文档对象的模型,都是以文档的对象的方式存在的
(1)DOM是针对xml(html)操作的一种节点对象的模型。
例如:<html>
<head>
</head>
<body>
</body>
</html>
把html中所有属性规定的,都叫做节点。
节点是有层级关系的。
(2)DOM树:节点(node)的层次
(3)DOM 把一个文档表示为一棵家谱树(父、子、兄弟)
如下图所示:
(4)DOM定义了Node的接口以及许多种节点类型来表示XML节点的多个方面
二、节点
根据DOM,Html文档中的每个成分都是一个节点
DOM是这样规定的:
(1) 整个文档时一个文档节点
(2) 每个HTML标签是一个元素节点
(3) 包含在HTML元素中的文本是文本节点
(4) 每一个HTML属性是一个属性节点
(5) 注释属于注释节点
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 |