HTML DOM的nodeType值介绍

  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
补充:

  值-元素类型

  1-ELEMENT

  2-ATTRIBUTE

  3-TEXT

  4-CDATA

  5-ENTITY REFERENCE

  6-ENTITY

  7-PI (processing instruction)

  8-COMMENT

  9-DOCUMENT

  10-DOCUMENT TYPE

  11-DOCUMENT FRAGMENT

  12-NOTATION

  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;