JavaScript Dom信息
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();
相关推荐
云中舞步 2020-11-12
杨德龙 2020-11-11
JohnYork 2020-10-16
wangzhaotongalex 2020-09-22
xiaoseyihe 2020-11-16
不要皱眉 2020-10-14
Crazyshark 2020-11-13
K先生 2020-11-10
momode 2020-09-11
思君夜未眠 2020-09-04
点滴技术生活 2020-08-21
MaggieRose 2020-08-19
kevinweijc 2020-08-18
wintershii 2020-08-17
vapaad 2020-08-17
wera00 2020-08-17
移动开发与培训 2020-08-16
ReunionIsland 2020-08-16
JimyFengqi 2020-08-16