我正在编写一个小脚本,将一些代码注入HTML元素。
通过设置:
,一切正常element.innerHTML = "<p>foo</p>";
除非我通过document
本身,因为两者都是:
document.innerHTML
和
document[0].innerHTML
无法设置(至少我的屏幕上没有显示任何内容: - )
问题:
如何测试我传递的元素是文档本身还是正文或其他HTML元素?
答案 0 :(得分:3)
好吧,您可以检查传递的对象是否与document
相同:
if (element === document) {
// ...
}
答案 1 :(得分:2)
您可以通过阅读[[Class]]
属性进行检查。
Object.prototype.toString.call( document ); // [object HTMLDocument]
Object.prototype.toString.call( document.body ); // [object HTMLBodyElement]
分别将传递的变量名称传递到.call()
。