冇内容管理系统分析- js-nodeType 值 转

将HTML DOM中几个容易常用的属性做下记录:

nodeName、nodeValue 以及 nodeType 包含有关于节点的信息。

nodeName 属性含有某个节点的名称。

  • 元素节点的 nodeName 是标签名称
  • 属性节点的 nodeName 是属性名称
  • 文本节点的 nodeName 永远是 #text
  • 文档节点的 nodeName 永远是 #document

注释:nodeName 所包含的 XML 元素的标签名称永远是大写的

nodeValue

对于文本节点,nodeValue 属性包含文本。

对于属性节点,nodeValue 属性包含属性值。

nodeValue 属性对于文档节点和元素节点是不可用的。

nodeType

nodeType 属性可返回节点的类型。

最重要的节点类型是:

元素类型节点类型
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9

HTML文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DOM标准</title>
<script type="text/javascript" src="test.js"></js>
</head>
<body>
<h1 id="h1">An HTML Document</h1>
<p id="p1">This is a <i>W3C HTML DOM</i> document.</p>
<p><input id="btnDemo1" type="button" value="取H1 Element节点值"></p>
<p><input id="btnDemo2" type="button" value="取H1 Element节点文本"></p>
<p><input id="btnDemo3" type="button" value="取Document Element节点文本"></p>
<p><input type="button" alt="这是个演示按钮" title="演示按钮提示标题" name="btnShowAttr" id="btnShowAttr" value="按钮节点演示" /></p>
</body>
</html>
JS:
function showElement(){
 var element=document.getElementById("h1");//h1是一个
<h1>标签
 alert('nodetype:'+element.nodeType);//nodeType=1
 alert('nodeName:'+element.nodeName);
 alert('nodeValue:'+element.nodeValue); //null
 alert('element:'+element);   
}

function showText(){
 var element=document.getElementById("h1");
 var text=element.childNodes[0]; 
 alert('nodeType:'+text.nodeType);  //nodeType=3
 alert('nodeValue:'+text.nodeValue);  //文本节点的nodeValue是其文本内容
 text.nodeValue=text.nodeValue+"abc"; //文本内容添加修改删除等等。
 alert('nodeName:'+text.nodeName); 
 alert(text.data);   //data同样是其内容,这个属性下同样可以增删改。
}

function showDocument(){
 alert('nodeType:'+document.nodeType);  //9
 alert('nodeName:'+document.nodeName);
 alert(document);
}

function showAttr(){
 var btnShowAttr=document.getElementById("btnShowAttr"); //演示按钮,有很多属性
 var attrs=btnShowAttr.attributes;
 for(var i=0;i
<attrs.length ;i++){
  var attr
=attrs[i];
  
alert('nodeType:'+attr.nodeType); //attribute 的nodeType=2
  
alert('attr:'+attr);
  alert('attr.name:'+attr.name+'
='+attr.value);
  
 
}
 
}

function demo(){
 var btnDemo1
=document.getElementById("btnDemo1");
 
btnDemo1.onclick=showElement;  //按钮1取节点nodetype值
 var btnDemo2
=document.getElementById("btnDemo2");
 
btnDemo2.onclick=showText;
 
var btnDemo3=document.getElementById("btnDemo3");
 
btnDemo3.onclick=showDocument;
 
var btnShowAttr=document.getElementById("btnShowAttr");
 
btnShowAttr.onclick=showAttr;
 
}
window.onload
=demo;
posted @ 2010-01-01 22:32  阿K&amp;LiveCai  阅读(324)  评论(0编辑  收藏  举报