# DOM操作
## 1. DOM是什么
* `DOM`是文档对象模型(Document Object Model)的简称
* `Document`: 指`html/xml`等结构性的文档
* `Object`: 指文档以及它内部的节点
* `Model`: 指文档中节点的组织形式(`tree`)
* `DOM`基本思想是把结构化的文档解析成一系列的节点,再由这些节点组成一个树状结构
* 这个树状结构,就是大家常说的`DOM Tree`(DOM树)
* 所有节点和最终的树结构,都有规范的对外访问接口,便于编程语言操作文档
* 所以,`DOM`就是文档(`html/xml/svg`)的编程接口
----------------------------------------------------------
## 2. DOM的标准
* `DOM`有自己的国际标准, 目前最新的是`DOM3`,`DOM4`正在制定中
* 本章我们学习的是`JavaScript`编程语言操作`DOM`的实现与应用
----------------------------------------------------------
## 3. JavaScript与DOM的关系
* 因此,严格来说,`DOM`并不属于`JavaScript`,但是操作`DOM`却是`JavaScript`最主要的任务
* 所以,有人认为`DOM`是`JavaScript`密不可分的一部分, 也是有道理的
* 但是其它编程语言也有操作`DOM`的函数,但都没有`JavaScript`这么纯粹与高效
----------------------------------------------------------
## 1. 节点的概念
* `DOM`的最小操作单元叫做`节点`(Node)
* 一个完整的`DOM树`就是由许多不同类型的节点组成
* 节点的类型主要有六种:
* `Document`: 文档节点(整个文档window.docment)
* `DocumentType`: 文档类型节点
* `Element`: 元素节点
* `Attribue`: 属性节点
* `Text`: 文本节点
* `DocumentFragment`: 文档碎片节点(小DOM)