Javascript 如何测试传递给函数的元素是否是文档本身?
我正在编写一个小脚本,将一些代码注入HTML元素 通过设置以下各项,所有工作均正常:Javascript 如何测试传递给函数的元素是否是文档本身?,javascript,jquery,function,selector,document,Javascript,Jquery,Function,Selector,Document,我正在编写一个小脚本,将一些代码注入HTML元素 通过设置以下各项,所有工作均正常: element.innerHTML = "<p>foo</p>"; 及 无法设置(至少我的屏幕上没有显示任何内容:-) 问题: 如何测试传递的元素是文档本身还是正文或其他HTML元素?您可以通过阅读[[Class]]]属性进行检查 Object.prototype.toString.call( document ); // [object HTMLDocument] Object.pr
element.innerHTML = "<p>foo</p>";
及
无法设置(至少我的屏幕上没有显示任何内容:-)
问题:如何测试传递的元素是文档本身还是正文或其他HTML元素?您可以通过阅读
[[Class]]]
属性进行检查
Object.prototype.toString.call( document ); // [object HTMLDocument]
Object.prototype.toString.call( document.body ); // [object HTMLBodyElement]
分别将传递的变量名传递到
.call()
中,您可以通过读取[[Class]]]
属性进行检查
Object.prototype.toString.call( document ); // [object HTMLDocument]
Object.prototype.toString.call( document.body ); // [object HTMLBodyElement]
分别将传递的变量名传递到
.call()
中。您只需检查传递的对象是否与文档相同即可:
if (element === document) {
// ...
}
那么,您只需检查传递的对象是否与文档相同即可:
if (element === document) {
// ...
}
嗯。。。元素===document
有什么问题吗?啊。。。看起来太容易了。。。让我试试:-)@raina77ow:太好了!请给我一个答案,这样我可以检查一下。。。元素===document
有什么问题吗?啊。。。看起来太容易了。。。让我试试:-)@raina77ow:太好了!请给我一个答案,这样我就可以检查。当然,这也行,但前提是你不处理多帧或多窗口environment@frequent这当然也可以,但前提是您不需要处理多帧或多窗口环境