如何找出从HTMLElement派生的DOM元素节点类型?

时间:2014-01-29 13:11:37

标签: javascript html dom

我想找到标签的元素类型,甚至尝试查看此处的规范:http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#elements-in-the-dom

我以为我可以这样做document.createElement('button').__proto__来获取HTMLButtonElement,但不是很清楚它是什么。有没有办法找到这个?我最好能写出一些东西给控制台,或者有更好的参考资料可以更清楚地列出它们吗?

2 个答案:

答案 0 :(得分:3)

在元素上调用toString应该返回一个元素超类的字符串,正如我在注释中提到的那样(实际上是库中常用的技术,例如toString.call([]) === "[object Array]")用于数组检查。

无论如何继续使用它,你可以通过toStringelement.constructor调用

获取超级元素
var element = document.createElement("span");
var toString = window.toString;

toString.call(element) === "[object HTMLSpanElement]"; //true
element.constructor === HTMLSpanElement; //true

答案 1 :(得分:-1)

使用“nodeType”属性。如果您的元素为“x”,则“x.nodeType”会为您提供“x”类型。

如果您想要节点标签的名称,请使用'nodeName'属性。