Property nodeName คืนค่า ชื่อของ Node เป็น String ตัวพิมพ์ใหญ่สำหรับ HTML Elements
ตัวอย่างโค้ด
<!DOCTYPE html>
<html>
<body>
<h1 id="id1">Tutorials</h1>
<p id="id2">Demo Content</p>
<p id="id3"></p>
<p id="id4"></p>
<script>
document.getElementById("id3").innerHTML = document.getElementById("id1").nodeName; // "H1"
document.getElementById("id4").innerHTML = document.getElementById("id2").nodeName; // "P"
</script>
</body>
</html>
คำอธิบาย
element.nodeName— Tag Name ตัวพิมพ์ใหญ่:"DIV","SPAN","H1"document.nodeName—"#document"textNode.nodeName—"#text"commentNode.nodeName—"#comment"attrNode.nodeName— Attribute Name (เช่น"id","class")
nodeName vs tagName
| Property | คืนค่า | ใช้กับ |
|---|---|---|
nodeName | ทุก Node Type (Element, Text, Comment, Attr, Document) | Node ทุกประเภท |
tagName | Element เท่านั้น (ตัวพิมพ์ใหญ่) | Element Node Only |
สำหรับ Element: element.nodeName === element.tagName (True)
การใช้งานจริง
- Debug/Inspect DOM Tree
- Generic Tree Walker:
function walk(node) { console.log(node.nodeName); ... } - Serializer: แปลง DOM เป็น String/JSON
- Feature Detection:
if (el.nodeName === 'INPUT') ...