JavaScript Dom信息

Dom节点的信息

nodeName:节点的名字,返回字符串

  • 元素节点,返回这个元素的名字,相当于tagName属性,如p
  • 属性节点,返回这个属性的名字
  • 文本节点,返回一个#text的字符串

nodeType: 节点的类型,返回整数

常用的三种类型:

  • nodeType == 1 : 元素节点 ,<p>,<h1>
  • nodeType == 2 : 属性节点,title="cssrain"
  • nodeType == 3 : 文本节点<p>test</p>test就是文本节点
整数常量
1ELEMENT_NODE,普通元素节点,如<html>,<p>,<div>,<span>,<img>
2ATTRIBUTE_NODE,元素属性
3TEXT_NODE,文本节点
4CDATA_SECTION_NODE,即<![CDATA[ ]]>
5ENTITY_REFERENCE_NODE,实体引用,如&amp;&nbsp;
6ENTITY_NODE,实体,如<!ENTITY copyright “Copyright 2010, impng. All rights reserved”]>
7PROCESSING_INSTRUCTION_NODE,PI,处理指令,如<?xml  version=”1.0″?>
8COMMENT_NODE,注释<!–   –>
9DOCUMENT_NODE,根节点,即document.nodeType
10DOCUMENT_TYPE_NODE,DTD,文档类型<!DOCTYPE   >
11DOCUMENT_FRAGMENT_NODE,文档片段
12NOTATION_NODE,DTD中定义的记号

nodeValue:节点的值,返回字符串

  • 元素节点,返回null
  • 属性节点,这个属性的值
  • 文本节点,这个文本节点的内容

nodeValue是一个可以读,可以写的属性,但不能设置元素节点的值

<div id="c">aaaaaaaaaaaaaaaa</div> 
<SCRIPT LANGUAGE="JavaScript"> 
var c= document.getElementById("c"); 
alert( c.nodeValue );//返回null 
</SCRIPT>
<div id="c">aaaaaaaaaaaaaaaa</div> 
<SCRIPT LANGUAGE="JavaScript"> 
var c= document.getElementById("c"); 
c.nodeValue =" dddddddddddd"; //不能设置 
//alert( c.firstChild.nodeValue ) //元素节点 包括属性节点和文本节点。 
c.firstChild.nodeValue = "test"//能设置 
</SCRIPT>

  

为确保可以正确运行,可以用如下的方法

<div id="c">aaaaaaaaaaaaaaaa</div> 
<SCRIPT LANGUAGE="JavaScript"> 
var c= document.getElementById("c"); 
c.nodeValue =" dddddddddddd"; //不能设置 
//alert( c.firstChild.nodeValue ) 
if( c.firstChild.nodeType==3 ){ //判断是不是 文本节点 
c.firstChild.nodeValue = "test"//能设置 
} 
</SCRIPT>

 所以如要要设置属性节点,不能直接设置,需要先使用firstChild或者lastChild等,然后设置nodeValue.

nodeValue一般只用来设置文本节点的值,如果要刷新属性节点的值,一般使用setAttribute();

相关推荐