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;