0

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

通过设置一切正常:

element.innerHTML = "<p>foo</p>";

除非我自己被传递document,因为两者:

document.innerHTML

document[0].innerHTML

无法设置(至少我的屏幕上什么都没有显示:-)

问题:
如何测试我传递的元素是文档本身还是正文或其他 HTML 元素?

4

2 回答 2

3

好吧,您可以检查传递的对象是否与以下内容相同document

if (element === document) {
   // ...
}
于 2013-04-30T12:14:37.787 回答
2

您可以通过阅读[[Class]]属性进行检查。

Object.prototype.toString.call( document ); // [object HTMLDocument]
Object.prototype.toString.call( document.body ); // [object HTMLBodyElement]

分别将传递的变量名传入.call().

于 2013-04-30T12:11:08.213 回答