规范说文档节点满足HTMLElement IDL接口。计算结果为true
:
document.querySelectorAll('a')[0] instanceof HTMLElement
这是正确的测试方法(by instanceof HTMLElement
)吗?
似乎所有DOM接口都在全局对象中定义为可以在表达式o_0中访问。
我不太确定为什么要这么做,但是它应该可以在现代浏览器中使用。在IE8或更低版本中将无法使用。
如果您的目标是查看节点是元素节点还是文本节点或类似节点,则更广泛兼容的方法是使用nodeType
属性:
document.querySelector('a').nodeType === 1
类型由DOM规范给出,作为Node
接口定义的一部分(1 =元素)。
如果您的目标是测试元素是否是元素的特定类型(HTMLAnchorElement
依此类推),请使用nodeName
或(如果您知道它是元素)tagName
。在HTML(不是XHTML)文档中,这些是大写的标签名称,例如
console.log(document.querySelector('a').nodeName); // "A"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句