HTML DOM Element nodeType 属性

定义和用法

nodeType 属性以数字形式返回指定节点的节点类型。

  • 如果节点是元素节点,则 nodeType 属性将返回 1
  • 如果节点是属性节点,则 nodeType 属性将返回 2
  • 如果节点是文本节点,则 nodeType 属性将返回 3
  • 如果节点是注释节点,则 nodeType 属性将返回 8

该属性是只读的。

另请参阅:

nodeName 属性

nodeValue 属性

tagName 属性

childNodes 属性

实例

例子 1

获取 body 元素的节点类型:

var x = document.getElementById("myP").nodeType;

亲自试一试

例子 2

返回 <body> 元素的节点类型:

document.body.nodeType;

亲自试一试

例子 3

显示所有元素的节点类型:

const nodes = document.body.childNodes;

let text = "";
for (let i = 0; i < nodes.length; i++) {
  text += nodes[i].nodeType + "<br>";
}

亲自试一试

例子 4

获取 "myDIV" 的第一个子节点的节点名称、值和类型:

const x = document.getElementById("myDIV").firstChild;

let text = "";
text += "Name: " + x.nodeName + "<br>";
text += "Value: " + x.nodeValue + "<br>";
text += "Type: " + x.nodeType;

亲自试一试

语法

node.nodeType

返回值

类型 描述
数值 节点的节点类型。请见下表。

节点类型

HTML 或 XML 文档的文档、元素、属性以及其他节点拥有不同的节点类型。

有 12 种不同的节点类型,它们可能有各种节点类型的子节点:

类型 描述 子节点
1 Element 表示元素
  • Element
  • Text
  • Comment
  • ProcessingInstruction
  • CDATASection
  • EntityReference
2 Attr 表示属性
  • Text
  • EntityReference
3 Text 表示元素或属性中的文本内容 无。
4 CDATASection 表示文档中的 CDATA 部分
(不会被解析器解析的文本)
无。
5 EntityReference 表示实体引用
  • Element
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
6 Entity 表示实体
  • Element
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
7 ProcessingInstruction 表示处理指令 无。
8 Comment 表示注释 无。
9 Document 表示整个文档(DOM 树的根节点)
  • Element
  • ProcessingInstruction
  • Comment
  • DocumentType
10 DocumentType 向为文档定义的实体提供接口 无。
11 DocumentFragment 表示“轻量级”的 Document 对象,它可保存文档的片段。
  • Element
  • ProcessingInstruction
  • Comment
  • Text
  • CDATASection
  • EntityReference
12 Notation 表示在 DTD 中声明的符号 无。

节点类型 - 返回值

每种节点类型的 nodeName 和 nodeValue 属性的返回值:

类型 nodeName nodeValue
1 Element 元素名 null
2 Attr 属性名 属性值
3 Text #text 节点的内容
4 CDATASection #cdata-section 节点的内容
5 EntityReference 实体引用的名称 null
6 Entity 实体名称 null
7 ProcessingInstruction target 节点的内容
8 Comment #comment 注释文本
9 Document #document null
10 DocumentType doctype 名称 null
11 DocumentFragment #document 片段 null
12 Notation 符号名称 null

节点类型 - 命名常量

类型 命名常量
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

浏览器支持

element.nodeType 是 DOM Level 1 (1998) 特性。

所有浏览器都完全支持它:

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 9-11 支持 支持 支持 支持