这个问题之前有过一些问题,但是(a)很久以前和(b)过去的一些答案包括jQuery。
对于当前浏览器(包括IE> = 8),测试变量是否为DOM元素的最简单可靠方法是什么?
我不关心元素当前是否在DOM中。我对变量是否包含有效的元素对象更感兴趣。
我正在编写一个需要在文档元素和字符串之间进行选择的函数。以下是我的看法:
function doit(element) {
if (element instanceof Element) {
// document element
} else if (typeof element == 'string') {
// string
}
// else out of luck
}
这里使用了instanceof
作为元素,typeof
作为字符串,拼凑了我在别处读到的内容。
在今天的浏览器中(如果你包含IE,昨天就是这样),这是最有效/正确的方法吗?
由于
答案 0 :(得分:-1)
你可以反过来检查它,如:
function doit(element) {
if(typeof element === 'string') { // to be save -> always use type check in js (===)
// string
}
else {
// assuming it is a document element
}
}
如果你真的想在HTML元素上查看它,你也可以依赖this post。
剧透:... instanceof HTMLElement