HTML DOM (二)节点的信息

 
每个节点都包含关于节点某些信息的属性
nodeName  节点的名称
nodeValue  节点的值
nodeType    节点的类型
1、  nodeName
nodeName 属性含有节点的名称。
元素节点的 nodeName 是标签名称
属性节点的 nodeName 是属性名称
文本节点的 nodeName #text
文档节点的 nodeName 永远是 #document
注意: IE nodeName 属性只返回元素节点, fireFox 中不仅返回元素节点,还会返回文本节点
:
<html>
<head>
<title>HTML DOM</title>
</head>
<body>
<div>div1</div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
<script language="javascript">
var s="";
var x=document.getElementsByTagName("ul")[0]
for(var i=0;i<x.childNodes.length;i++){
        if(x.childNodes[i].nodeType==1){
              s+=x.childNodes[i].nodeName+"\n";
        }       
}
alert("UL 有以下几个子元素节点: \n"+s);
</script></body>
</html>
IE FireFox 运行结果相同,如下:
如果去掉 if 语句: if(x.childNodes[i].nodeType==1) ,那么 fireFox 运行结果如下:
 
   
2、  nodeValue
对于文本节点, nodeValue 属性包含文本
对于属性节点, nodeValue 属性包含属性值
nodeValue 属性对于文档节点和元素节点是不可用的。
所以,要返回上面的例子中, ul 中子元素的内容,把 s+= 部分修改如下:
s+=x.childNodes[i].childNodes[0].nodeValue+"\n";
或用元素的 innerHTML 属性,修改如下:
s+=x.childNodes[i].innerHTML+"\n";
 
3、  nodeType
nodeType 属性可返回节点的类型
最重要节点类型如下:
元素类型
节点类型
元素
1
属性
2
文本
3
注释
8
文档
9
 
 

你可能感兴趣的:(html,dom,nodeType,nodeValue,节点信息)