如何检查JS对象是否实现了一些DOM IDL接口



规格说明文档节点满足HTMLElement IDL接口。计算结果为true:

document.querySelectorAll('a')[0] instanceof HTMLElement

这是一个正确的方法来测试(由instanceof HTMLElement)?

我不太确定为什么你要这样做,但它应该在现代浏览器中工作。在IE8或以下版本无法使用

如果您的目标是查看节点是Element还是Text节点或类似的,更广泛兼容的方法是使用nodeType属性:

document.querySelector('a').nodeType === 1

这些类型是作为Node接口(1 = Element)定义的一部分由DOM规范给出的。

如果您的目标是测试一个元素是否是元素(HTMLAnchorElement等)的特定类型,请使用nodeName或(如果您知道它是一个元素)tagName。在HTML(不是XHTML)文档中,这些是大写标记名,例如

console.log(document.querySelector('a').nodeName); // "A"

最新更新