您的当前位置:首页正文

tagName and nodeName

来源:华拓网

nodeName,tagName

  • 元素节点,nodeName属性和tagName属性返回相同的值
  • 文本节点,nodeName属性会返回"#text",而tagName属性会返回undefined.
<body>
  <div id="div1">hello</div>
  <input type="text" id="text1">
</body>
<script>
    var div1 = document.getElementById("div1");
    var text1 = document.getElementById("text1");

    if (div1.nodeType == 1 && text1.nodeType == 1) {
        /*元素节点*/
        console.log("div1 nodeName:", div1.nodeName);
        console.log("text1 nodeName:", text1.nodeName);
        console.log("div1 tagName:", div1.tagName);
        console.log("text1 tagName:", text1.tagName);
        /*文本节点*/
        console.log("div1 nodeName:", div1.firstChild.nodeName); // div1.childNodes[0].nodeValue
        console.log("div1 tagName:", div1.firstChild.tagName);
    }
</script>

结果:

区别

tagName只能在元素标签上使用
nodeName则可以在所有的节点上使用

在不同节点上nodeName的值