2010-05-01 55 views
24

我想一定标记的名称(以判断它是否是一个div /输入/ SPAN/P /等)在JS中获取元素标签名称的最佳方法是什么?

我发现有一些给我的标签名3个不同的属性:

tagNamenodeNamelocalName

我的问题是:是最支持所有浏览器哪一个?和/或有没有一种方法来获取Prototype中的标签名称(我看,但找不到一个)?

+0

您应该忽略'localName',因为它现在已经过时([source](https://developer.mozilla.org/en-US/docs/Web/API/Node/localName))。 – 10basetom 2017-05-31 10:03:44

回答

24

nodeName这里是最一致的。如果您对原因更加好奇,我会建议您take a minute and read this post for a few differences and inconsistencies with tagName

对于问题的原型部分...这是一个JavaScript属性,只是this.nodeName应该工作或element.nodeName,不管你在当前函数中调用的元素是否应该工作。

+0

不错的文章链接,+1 :)。至于原型函数,我的意思是有一个函数根据浏览器确定哪个属性最适合使用,比如使用'update()'而不是'.innerHTML' – 2010-05-01 21:20:43

+0

@webdestroya - 由于这个函数在浏览器中一致,不需要在库中添加任何开销,例如jQuery没有任何方法可以:) – 2010-05-01 21:24:11

+0

好点。感谢你的回答! – 2010-05-01 21:25:43

相关问题