--- title: Node.nodeName slug: Web/API/Node/nodeName translation_of: Web/API/Node/nodeName ---
{{APIRef}}
 
概述

返回当前节点的节点名称

语法

var str = node.nodeName;

附注

下表列出了所有类型的节点的nodeName属性的值.

接口 nodeName属性值
Attr 等同于 Attr.name 属性的值
CDATASection "#cdata-section"
Comment "#comment"
Document "#document"
DocumentFragment "#document-fragment"
DocumentType

等同于 DocumentType.name 属性的值

Element

等同于 Element.tagName 属性的值

Entity 实体名称
EntityReference 实体引用名称
Notation Notation名称
ProcessingInstruction

等同于 ProcessingInstruction.target 属性的值

text "#text"

示例

假设已经存在下面的HTML:

<div id="d1">hello world</div>
<input type="text" id="t"/>

以及下面的JavaScript:

var div1 = document.getElementById("d1");
var text_field = document.getElementById("t");

text_field.value = div1.nodeName;

在XHTML(以及属于XML类型的文档)中,变量text_field包含的值会是小写的"div".还在HTML中,变量text_field包含的值会是大写的"DIV",nodeNametagName属性都有这种表现.查看details on nodeName case sensitivity in different browsers一文深入了解.

如果是元素节点,nodeName属性和tagName属性返回相同的值,但如果是文本节点,nodeName属性会返回"#text",而tagName属性会返回undefined.

规范