nodeType 只讀屬性以數字形式返回指定節(jié)點的節(jié)點類型。
nodeType屬性可用于區(qū)分不同種類的節(jié)點,例如元素,文本和注釋。
如果節(jié)點是元素節(jié)點,則nodeType屬性將返回1。
如果節(jié)點是屬性節(jié)點,則nodeType屬性將返回2。
如果該節(jié)點是文本節(jié)點,則nodeType屬性將返回3。
如果該節(jié)點是注釋節(jié)點,則nodeType屬性將返回8。
node.nodeType
var x = document.getElementById("myPara").nodeType;測試看看?/?所有瀏覽器完全支持nodeType屬性:
| 屬性 | ![]() | ![]() | ![]() | ![]() | ![]() |
| nodeType | 是 | 是 | 是 | 是 | 是 |
| 返回值: | 一個數字,代表節(jié)點的節(jié)點類型 |
|---|---|
| DOM版本: | DOM級別1 |
文檔、元素、屬性以及 HTML 或 XML 文檔的其他方面擁有不同的節(jié)點類型。
存在 12 種不同的節(jié)點類型,其中可能會有不同節(jié)點類型的子節(jié)點:
| 節(jié)點類型 | 描述 | 子節(jié)點 | |
|---|---|---|---|
| 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 樹的根節(jié)點)。 | Element, ProcessingInstruction, Comment, DocumentType |
| 10 | DocumentType | 向為文檔定義的實體提供接口 | None |
| 11 | DocumentFragment | 代表輕量級的 Document 對象,能夠容納文檔的某個部分 | Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference |
| 12 | Notation | 代表 DTD 中聲明的符號。 | None |
對于每種節(jié)點類型,nodeName 和 nodeValue 屬性的返回值:
| 節(jié)點類型 | nodeName 返回 | nodeValue 返回 | |
|---|---|---|---|
| 1 | Element | 元素名 | null |
| 2 | Attr | 屬性名稱 | 屬性值 |
| 3 | Text | #text | 節(jié)點的內容 |
| 4 | CDATASection | #cdata-section | 節(jié)點的內容 |
| 5 | EntityReference | 實體引用名稱 | null |
| 6 | Entity | 實體名稱 | null |
| 7 | ProcessingInstruction | target | 節(jié)點的內容 |
| 8 | Comment | #comment | 注釋文本 |
| 9 | Document | #document | null |
| 10 | DocumentType | 文檔類型名稱 | null |
| 11 | DocumentFragment | #document 片段 | null |
| 12 | Notation | 符號名稱 | null |
| 節(jié)點類型 | 命名為常數 |
|---|---|
| 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元素內的第一個節(jié)點是否為注釋節(jié)點,如果不是,則顯示一條消息:
var node = document.documentElement.firstChild;
if (node.nodeType != Node.COMMENT_NODE) {
alert("You should comment your code well!");
}測試看看?/?返回div的第一個子節(jié)點的節(jié)點名稱,節(jié)點類型和節(jié)點值:
<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屬性