文件对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口。
DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。
DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现。
在DOM中有三种节点,分别是元素节点、文本节点和属性节点。
<?xml version=”1.0″ encoding=”UTF-8″?> //XML说明
<library> //根元素
<book id=”01″> //library元素的第一个子元素,“id”是其属性01
<title>Qt</title> //book元素的子元素,“Qt”是元素的文本
<author>shiming</author> //book元素的子元素,title元素的兄弟元素
</book> //结束标记名
<book id=”02″>
<title>Linux</title>
<author>yafei</author>
</book>
</library>
DOM节点的属性:
属性 | 类型 | 说明 |
nodeName | String | 节点名称,根据节点的类型而定义 |
nodeValue | String | 节点的值,根据节点的类型而定义 |
nodeType | Number | 节点类型,1为元素节点,2为属性节点,3为文本节点 |
firstChild | Node | 指向childNodes列表的第一个节点 |
lastChild | Node | 指向childNodes列表的最后一个节点 |
childNodes | NodeList | 所有子节点列表,childNodes[i]可以访问第i+1个节点 |
parentNode | Node | 指向节点的父节点,如果已是根节点,则返回null |
previousSibling | Node | 指向前一个兄弟节点,如果已是第一个节点,则返回null |
nextSibling | Node | 指向后一个兄弟节点,如果已是最后一个节点,返回null |
Attributes | NameNodeMap | 包含一个元素特性的Attr对象,仅用于元素节点 |
className | String | 节点的CSS类 |
innerHTML | String | 某个标记之间的所有内容,包括代码本身 |