DOM
简介
概念
文档对象模型(Document Object Model,简称 DOM),是 W3C 组织推荐的处理可拓展标记语言(HTML 或 XML)的标准编程接口
- 文档:一个页面就是一个文档,用 document 表示
 - 元素:页面中所有标签都是元素,用 element 表示
 - 节点:网页中所有内容都是节点(标签,属性,文本,注释等),用 node 表示
 
DOM 把以上内容都看作对象
节点思想
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
- 整个文档是一个文档节点
 - 每个 HTML 元素是元素节点
 - HTML 元素内的文本是文本节点
 - 每个 HTML 属性是属性节点
 - 注释是注释节点
 
DOM 属性
元素属性
以下为 Node 对象的属性
- 
.nodeName
nodeName 属性规定节点的名称。
- nodeName 是只读的
 - 元素节点的 nodeName 与标签名相同
 - 属性节点的 nodeName 与属性名相同
 - 文本节点的 nodeName 始终是 #text
 - 文档节点的 nodeName 始终是 #document
 
 - 
.nodeValue
nodeValue 属性规定节点的值。
- 元素节点的 nodeValue 是 undefined 或 null
 - 文本节点的 nodeValue 是文本本身
 - 属性节点的 nodeValue 是属性值
 
 
<html>
<body>
<p id="intro">Hello World!</p>
<script>
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>
</body>
</html>
- 
nodeType
nodeType 属性返回节点的类型。nodeType 是只读的
 
| 元素类型 | NodeType | 
|---|---|
| 元素 | 1 | 
| 属性 | 2 | 
| 文本 | 3 | 
| 注释 | 8 | 
| 文档 | 9 | 
以下为 Element 的属性
- 
.innerHTML
innerHTML 属性可用于获取或改变任意 HTML 元素,包括 <html> 和 <body>
 
<html>
<body>
<p id="intro">Hello World!</p>
<script>
var txt=document.getElementById("intro").innerHTML;
document.write(txt);
</script>
</body>
</html>
- 
.attributes
返回该元素所有属性节点的一个实时集合
 
var para = document.getElementsByTagName("p")[0];
var atts = para.attributes;