0

我想知道变量myVar是否是一个节点。

我可以检查myVar.nodeType,但我可能会被愚弄{nodeType:1}

然后,我想知道我是否可以做类似的事情

myVar instanceof Node

编辑

有趣的是,似乎有一个Node构造函数,所以instanceof Node确实有效!

如果我的猜测有效,我应该在问之前尝试一下......


请不要将我的问题标记为Check if variable is a valid node element的副本,因为这个其他问题假定它myVar是一个节点或为空。但我的问题没有任何假设。

4

1 回答 1

3

window.document instanceof Node在不同的浏览器中尝试。它true在 IE11、GC30、FF24 和 Opera17 中返回,因此它也应该适用于其他Nodes。

在像 IE8 这样的旧浏览器中,Node界面是undefined. 我测试了几个接口HTMLDivElement,比如div节点,但是这些接口太具体了,所以必须把||它们变成一个很长的逻辑表达式。IE8 中最通用的接口是Element: window.document.body,它的子节点是Element. 有趣的window.document是,不是一个Element(它是一个HTMLDocument)。

于 2013-10-27T00:29:49.563 回答