Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何测试传递给函数的元素是否是文档本身?_Javascript_Jquery_Function_Selector_Document - Fatal编程技术网

Javascript 如何测试传递给函数的元素是否是文档本身?

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

我正在编写一个小脚本,将一些代码注入HTML元素

通过设置以下各项,所有工作均正常:

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这当然也可以,但前提是您不需要处理多帧或多窗口环境