据我所见,可以在JavaScript中验证某个对象实际上是一个div元素:
if (element.constructor == HTMLDivElement) {
//...
}
如何应用类似的检查以查看元素是否为窗口?检查DOMWindow
不起作用,这样的功能似乎未定义。
答案 0 :(得分:5)
DOM元素的“tagName”属性将告诉您它是什么类型的DOM元素。我不知道有什么好的方法来检查引用是否是一个“窗口”实例而不是鸭子类型。
您可能应该检查对象可以做什么,或者似乎能够做什么,而不是检查参考是。你究竟想通过确定一个物体的性质来完成什么?
因为Javascript对象具有可塑性,即使你确定一个对象是一个<div>
DOM实例,也不一定会告诉你关于它的一切,因为代码可能已经改变了对象的属性而无法识别。
答案 1 :(得分:2)
如果您只需要检查对象是否是当前浏览器窗口(而不是另一个浏览器窗口),您可以通过使用window
对象进行简单的身份检查来轻松完成此操作(只要您没有超越它)。
if (obj === window) {
// it's your window
} else if (obj.nodeName && (obj.nodeName.toLowerCase() === 'div')) {
// it's a div
} else {
// it's something else
}
答案 2 :(得分:2)
从jQuery source出来一个解决方案:
// A crude way of determining if an object is a window
function isWindow ( obj ) {
return obj && typeof obj === "object" && "setInterval" in obj;
}
答案 3 :(得分:0)
使用jquery它应该如此简单 如果($('div')。length == 0) { //他们没有div }其他{ //他们是页面上的div }
您还可以检查ID或类是否存在