Dom节点的信息
nodeName:节点的名字,返回字符串
- 元素节点,返回这个元素的名字,相当于tagName属性,如p
- 属性节点,返回这个属性的名字
- 文本节点,返回一个#text的字符串
nodeType: 节点的类型,返回整数
常用的三种类型:
- nodeType == 1 : 元素节点 ,<p>,<h1>
- nodeType == 2 : 属性节点,title="cssrain"
- nodeType == 3 : 文本节点<p>test</p>test就是文本节点
整数 | 常量 |
1 | ELEMENT_NODE,普通元素节点,如<html>,<p>,<div>,<span>,<img> |
2 | ATTRIBUTE_NODE,元素属性 |
3 | TEXT_NODE,文本节点 |
4 | CDATA_SECTION_NODE,即<![CDATA[ ]]> |
5 | ENTITY_REFERENCE_NODE,实体引用,如& |
6 | ENTITY_NODE,实体,如<!ENTITY copyright “Copyright 2010, impng. All rights reserved”]> |
7 | PROCESSING_INSTRUCTION_NODE,PI,处理指令,如<?xml version=”1.0″?> |
8 | COMMENT_NODE,注释<!– –> |
9 | DOCUMENT_NODE,根节点,即document.nodeType |
10 | DOCUMENT_TYPE_NODE,DTD,文档类型<!DOCTYPE > |
11 | DOCUMENT_FRAGMENT_NODE,文档片段 |
12 | NOTATION_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();