
nodeType 只读属性以数字形式返回指定节点的节点类型。
nodeType属性可用于区分不同种类的节点,例如元素,文本和注释。
如果节点是元素节点,则nodeType属性将返回1。
如果节点是属性节点,则nodeType属性将返回2。
如果该节点是文本节点,则nodeType属性将返回3。
如果该节点是注释节点,则nodeType属性将返回8。
语法:
node.nodeType
var x = document.getElementById("myPara").nodeType;测试看看‹/›浏览器兼容性
所有浏览器完全支持nodeType属性:
| 属性 | ![]() | ![]() | ![]() | ![]() | ![]() |
| nodeType | 是 | 是 | 是 | 是 | 是 |
技术细节
| 返回值: | 一个数字,代表节点的节点类型 |
|---|---|
| DOM版本: | DOM级别1 |
Node Types(节点类型)
文档、元素、属性以及 HTML 或 XML 文档的其他方面拥有不同的节点类型。
存在 12 种不同的节点类型,其中可能会有不同节点类型的子节点:
| 节点类型 | 描述 | 子节点 | |
|---|---|---|---|
| 1 | Element | 代表元素 | Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference |
| 2 | Attr | 代表属性 | Text, EntityReference |
| 3 | Text | 代表元素或属性中的文本内容。 | None |
| 4 | CDATASection | 代表文档中的 CDATA 部分(不会由解析器解析的文本)。 | None |
| 5 | EntityReference | 代表实体引用。 | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
| 6 | Entity | 代表实体。 | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
| 7 | ProcessingInstruction | 代表处理指令。 | None |
| 8 | Comment | 代表注释。 | None |
| 9 | Document | 代表整个文档(DOM 树的根节点)。 | Element, ProcessingInstruction, Comment, DocumentType |
| 10 | DocumentType | 向为文档定义的实体提供接口 | None |
| 11 | DocumentFragment | 代表轻量级的 Document 对象,能够容纳文档的某个部分 | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
| 12 | Notation | 代表 DTD 中声明的符号。 | None |
节点类型 - 返回值
对于每种节点类型,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 | 文档类型名称 | 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 |
更多实例
本示例检查document元素内的第一个节点是否为注释节点,如果不是,则显示一条消息:
var node = document.documentElement.firstChild;
if (node.nodeType != Node.COMMENT_NODE) {
alert("You should comment your code well!");
}测试看看‹/›返回div的第一个子节点的节点名称,节点类型和节点值:
<div id="div-1">This is a div element.</div>
<script>
var x = document.getElementById("div-1").firstChild;
var txt = "";
txt += "The node name: " + x.nodeName + "<br>";
txt += "The node value: " + x.nodeValue + "<br>";
txt += "The node type: " + x.nodeType;
document.getElementById("para").innerHTML = txt;
</script>测试看看‹/›相关参考
HTML DOM参考:node .nodeName属性
HTML DOM参考:node .nodeValue属性
HTML DOM参考:node .childNodes属性




