如何测试传递给函数的元素是否是文档本身?
How do I test if the element being passed to a function is the document itself?
我正在编写一个小脚本,将一些代码注入到HTML元素中。
设置:
element.innerHTML = "<p>foo</p>";
除非我传递的是document
本身,因为两者:
document.innerHTML
和
document[0].innerHTML
不能设置(至少没有显示在我的屏幕上:-)
问题:
如何测试传递给我的元素是文档本身还是正文或其他HTML元素?
您可以检查传递的对象是否与document
相同:
if (element === document) {
// ...
}
您可以通过读取[[Class]]
属性来检查。
Object.prototype.toString.call( document ); // [object HTMLDocument]
Object.prototype.toString.call( document.body ); // [object HTMLBodyElement]
分别将传递的变量名传递给.call()
。
相关文章:
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 在jQuery中,如何测试一个元素是否是同一类的多个元素中的第一个
- 是否有跨浏览器和跨框架的方法来检查对象是否是HTML元素
- 如何检查具有类的元素是否是该类的第一个子元素
- 如何检查传递到递归函数的参数是否是数组的元素
- 如果元素是唯一的,使用 javascript 更改 ID 是否是一种可以的做法
- 检查元素是否是给定元素的父元素
- 检查元素是否是DOM中类的最后一个
- 检查单击的元素是否是父元素的后代,否则删除父元素
- Javascript:如何检查一个元素是否是"显示”;在屏幕上
- 如何使用javascript或jquery检查元素的父元素本身是否是最后一个子元素
- 如何检查它是否是最后一个元素
- 判断一个元素是否是由无状态的功能组件创建的
- 如何测试传递给函数的元素是否是文档本身?
- 在JQuery focusout上,确定新焦点是否是子元素
- 如何知道所选元素是否是输入字段
- 元素属性是否是节点
- 确定事件目标是否是已知元素的子元素的最有希望的方法是什么?
- 确定元素是否是最后一个可见元素
- js单击delegate确定是否不是元素