一、HTML DOM是一个树型的对象
二、每个node都包含该节点的某些信息,分别是:
1. nodeName
nodeName 属性含有某个节点的名称。
- 元素节点的 nodeName 是标签名称
- 属性节点的 nodeName 是属性名称
- 文本节点的 nodeName 永远是 #text
- 文档节点的 nodeName 永远是 #document
注释:nodeName 所包含的 XML 元素的标签名称永远是大写的
2. nodeValue
对于文本节点,nodeValue 属性包含文本。
对于属性节点,nodeValue 属性包含属性值。
nodeValue 属性对于文档节点和元素节点是不可用的。
3. nodeType
nodeType 属性可返回节点的类型。
最重要的节点类型是:
元素类型 | 节点类型 |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
注释 | 8 |
文档 | 9 |
三、修改节点
1. [newfathernode].appendChild([childnode])
此操作会更改newfathernode和childnode之间的关系为父子节点,并且会自动导致childnode的oldfathernode不在拥有此childnode节点.
2. [newfathernode].removeChild([childnode])
四、程序示例
更改节点
1 <html>
2 <body>
3 <div id="div1">
4 <div id="div3">
5 </div>
6 </div>
7 <div id="div2">
8 </div>
9 <script>
10 function $id(id){
11 return document.getElementById(id);
12 }
13
14 function CountNodes(arr){
15 var len = arr.length;
16 var i = 0;
17 while(len--){
18 (arr[len].nodeType==1) && i++;
19 }
20 return i;
21 }
22
23 window.onload = function(){
24 alert(CountNodes($id("div2").childNodes));
25 $id("div2").appendChild($id("div3"));
26 alert(CountNodes($id("div1").childNodes));
27 alert(CountNodes($id("div2").childNodes));
28 }
29 </script>
30 </body>
31 </html>