什么是最好的方式来检测,如果给定Javascript对象是DOM元素?[重复]
-
02-07-2019 - |
题
这个问题已经有一个答案在这里:
说例如,我正在写一功能目的是要接受多个参数种:
var overloaded = function (arg) {
if (is_dom_element(arg)) {
// Code for DOM Element argument...
}
};
什么是最好的方式来实施 is_dom_element
因此,它的工作原理在跨浏览器,相当准确的方式?
解决方案
jQuery的检查类型的财产。所以你会有:
var overloaded = function (arg) {
if (arg.nodeType) {
// Code for DOM Element argument...
}
};
虽然这将检测到的所有DOM对象,而不仅仅是要素。如果你想要素独自一人,那将是:
var overloaded = function (arg) {
if (arg.nodeType && arg.nodeType == 1) {
// Code for DOM Element argument...
}
};
其他提示
可能是这个:
node instanceof HTMLElement
应该在最浏览器。否则你要鸭式,它(如。 typeof x.nodeType != 'undefined'
)
怎么样
obj instanceof HTMLElement
不隶属于 StackOverflow