我想知道变量myVar
是否是一个节点。
我可以查看myVar.nodeType
,但我可能会被{nodeType:1}
然后,我想知道我是否可以做像
这样的事情myVar instanceof Node
修改
有趣的是,似乎有一个Node
构造函数,所以instanceof Node
确实有效!
如果我的猜测在问之前我应该试过......
请不要将我的问题标记为Check if variable is a valid node element的副本,因为此另一个问题假定myVar
是一个节点或为空。但我的问题并没有假设。
答案 0 :(得分:3)
在不同的浏览器中尝试window.document instanceof Node
。它在IE11,GC30,FF24和Opera17中返回true
,因此它也适用于其他Node
。
在IE8等旧版浏览器中,Node
界面为undefined
。我为HTMLDivElement
个节点测试了几个interfaces类div
,但这些节点太具体了,因此必须将它们||
转换为非常长的逻辑表达式。在IE8中最常用的接口是Element
:window.document.body
,其子节点是Element
的实例。有趣的是,window.document
不是Element
(它是HTMLDocument
)。