手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

DOM元素节点nodeType取值详解

首页 > Javascript >

nodeType的取值还是会经常用到的,但一般我们只用1和3,找了一下资料,1和3的含义是什么,才发现,原来是这样的。【部分资料来自:http://www.impng.com/web-dev/element-nodetype-values.html】

整数 常量
1 ELEMENT_NODE,普通元素节点,如<html>,<p>,<div>,<span>,<img>
2 ATTRIBUTE_NODE,元素属性
3 TEXT_NODE,文本节点
4 CDATA_SECTION_NODE,即<![CDATA[ ]]>
5 ENTITY_REFERENCE_NODE,实体引用,如&amp;&nbsp;
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中定义的记号


需要注意的是,在IE下会直接跳过HTML中的空格/Tab/换行,而Firefox下空格会认为是一个节点,因此,对类似节点取nextSiblingpreviousSibling时,需要判断是否是元素节点。所以。要取某个节点下面的文字时,必须是类似这样的写法。

JavaScript代码
  1. function L(a) {  
  2.     var b = "";  
  3.     for (a = a.firstChild; a; a = a.nextSibling){  
  4.         if (a.nodeType === 3){  
  5.             b += a.nodeValue;  
  6.         } else if (a.nodeType === 1){  
  7.             b += L(a);  
  8.         }  
  9.     }  
  10.     return b  
  11. }  



本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: nodetype, dom

« 上一篇 | 下一篇 »

只显示10条记录相关文章

发表评论

评论内容 (必填):