tagName与nodeName的区别

Posted 熊熊之火

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tagName与nodeName的区别相关的知识,希望对你有一定的参考价值。

       首先介绍DOM里常见的三种节点类型(总共有12种,如docment):元素节点,属性节点以及文本节点,例如<h2 class="title">head</h2>,
其中h2是元素节点,class是属性节点,
       head是文本节点,在这里你可以说h2这个元素节点包含一个属性节点和一个文本节点。其实几乎所有html的标签都是元素节点,
       id, title, class等则是属性节点,
      文本内容则是文本节点。
      tagName和nodeName的语义是一样的,都是返回所包含标签的名称,例如上面的h2标签,都是返回h2,
但是tagName只能在元素标签上使用,而nodeName则可以在所有的节点上使用
总结:tagName只能用在元素节点上,而nodeName可以用在任何节点上,可以说nodeName涵盖了tagName,
并且具有更多的功能,因此建议总是使用nodeName。

以上是关于tagName与nodeName的区别的主要内容,如果未能解决你的问题,请参考以下文章

.tagName 和 .nodeName 之间的区别

js值tagName和nodeName

转nodeValue以及其与value的区别以及JS nodeNamenodeValuenodeType返回类型

prop()方法和attr()方法以及区别

js 中childNodes与children的区别,firstChild与firstElementChild区别

php DOMDocument nodeName 属性返回带有 nodeName 的“#text”