DOM元素节点nodeType取值详解
引用来自Javascript Kit的一个表格
| Returned integer | Node type Constant |
|---|---|
| 1 | ELEMENT_NODE |
| 2 | ATTRIBUTE_NODE |
| 3 | TEXT_NODE |
| 4 | CDATA_SECTION_NODE |
| 5 | ENTITY_REFERENCE_NODE |
| 6 | ENTITY_NODE |
| 7 | PROCESSING_INSTRUCTION_NODE |
| 8 | COMMENT_NODE |
| 9 | DOCUMENT_NODE |
| 10 | DOCUMENT_TYPE_NODE |
| 11 | DOCUMENT_FRAGMENT_NODE |
| 12 | NOTATION_NODE |
大致的中文对照表:
| 整数 | 常量 |
|---|---|
| 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中定义的记号 |
需要注意的是,在IE下会直接跳过HTML中的空格/Tab/换行,而Firefox下空格会认为是一个节点,因此,对类似节点取nextSibling或previousSibling时,需要判断是否是元素节点。
var el = $('#demo');
do {
el = el.nextSibling;
} while(el.nodeType != 1);