Node.nodeType

只读属性 Node.nodeType 表示的是该节点的类型。

描述

nodeType 属性可用来区分不同类型的节点,比如 元素, 文本 和 注释

语法

var type = node.nodeType;

返回一个整数,其代表的是节点类型。其所有可能的值请参考 节点类型常量.

常量

节点类型常量

常量 描述
Node.ELEMENT_NODE 1 一个 元素 节点,例如 <p><div>
Node.TEXT_NODE 3 Element 或者 Attr 中实际的  文字
Node.PROCESSING_INSTRUCTION_NODE 7 一个用于XML文档的 ProcessingInstruction ,例如 <?xml-stylesheet ... ?> 声明。
Node.COMMENT_NODE 8 一个 Comment 节点。
Node.DOCUMENT_NODE 9 一个 Document 节点。
Node.DOCUMENT_TYPE_NODE 10 描述文档类型的 DocumentType 节点。例如 <!DOCTYPE html>  就是用于 HTML5 的。
Node.DOCUMENT_FRAGMENT_NODE 11 一个 DocumentFragment 节点

已弃用的节点类型常量

以下常量已被弃用,请不要使用。

常量 描述
Node.ATTRIBUTE_NODE 2 元素 的耦合属性 。在 DOM4 规范里Node 接口将不再实现这个元素属性。
Node.CDATA_SECTION_NODE 4 一个 CDATASection。 在 DOM4 规范里被移除。
Node.ENTITY_REFERENCE_NODE 5 一个 XML 实体引用节点。 在 DOM4 规范里被移除。
Node.ENTITY_NODE 6 一个 XML <!ENTITY ...>  节点。 在 DOM4 规范中被移除。
Node.NOTATION_NODE 12 一个 XML <!NOTATION ...> 节点。 在 DOM4 规范里被移除.

例子

不同的节点类型

document.nodeType === Node.DOCUMENT_NODE; // true
document.doctype.nodeType === Node.DOCUMENT_TYPE_NODE; // true

var fragment = document.createDocumentFragment();
fragment.nodeType === Node.DOCUMENT_FRAGMENT_NODE; // true

var p = document.createElement("p");
p.textContent = "一点人生经验...";

p.nodeType === Node.ELEMENT_NODE; // true
p.firstChild.nodeType === Node.TEXT_NODE; // true

注释

该示例会检查 document 下第一个节点是不是注释,如果不是,则会提醒。

var node = document.documentElement.firstChild;
if (node.nodeType != Node.COMMENT_NODE)
  console.log("滚去写注释!");

标准

标准 状态 注释
DOM
Node.nodeType
Living Standard 弃用了ATTRIBUTE_NODE, CDATA_SECTION_NODE, ENTITY_REFERENCE_NODE 和 NOTATION_NODE 类型。
Document Object Model (DOM) Level 3 Core Specification
Node.nodeType
Recommendation 无修改。
Document Object Model (DOM) Level 2 Core Specification
Node.nodeType
Recommendation 无修改。
Document Object Model (DOM) Level 1 Specification
Node.nodeType
Recommendation 最初的定义。

文档标签和贡献者

 此页面的贡献者: Ende93, lfkid, laobubu, teoli, jsx, ziyunfei, ethertank
 最后编辑者: Ende93,