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的值

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容