HTML DOM nodeType 属性

HTML DOM Element 对象

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 种不同的节点类型,其中可能会有不同节点类型的子节点:

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

节点类型 - 返回值

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

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

节点类型-命名常量

节点类型命名为常数
1ELEMENT_NODE
2ATTRIBUTE_NODE
3TEXT_NODE
4CDATA_SECTION_NODE
5ENTITY_REFERENCE_NODE
6ENTITY_NODE
7PROCESSING_INSTRUCTION_NODE
8COMMENT_NODE
9DOCUMENT_NODE
10DOCUMENT_TYPE_NODE
11DOCUMENT_FRAGMENT_NODE
12NOTATION_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属性

HTML DOM Element 对象