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的区别的主要内容,如果未能解决你的问题,请参考以下文章
转nodeValue以及其与value的区别以及JS nodeNamenodeValuenodeType返回类型