nodeType 只读属性以数字形式返回指定节点的节点类型。
nodeType属性可用于区分不同种类的节点,例如元素,文本和注释。
如果节点是元素节点,则nodeType属性将返回1。
如果节点是属性节点,则nodeType属性将返回2。
如果该节点是文本节点,则nodeType属性将返回3。
如果该节点是注释节点,则nodeType属性将返回8。
node.nodeType
var x = document.getElementById("myPara").nodeType;测试看看‹/›
所有浏览器完全支持nodeType属性:
属性 | |||||
nodeType | 是 | 是 | 是 | 是 | 是 |
返回值: | 一个数字,代表节点的节点类型 |
---|---|
DOM版本: | DOM级别1 |
文档、元素、属性以及 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属性