Visual Studio,提示document.body
是HTMLElement
,而不是HTMLBodyElement
,为什么会这样? - 我没有运气寻找答案。
class Test {
documentBody1: HTMLBodyElement;
documentBody2: HTMLElement;
constructor(){
this.documentBody1 = document.body; //wrong
this.documentBody2 = document.body; //right
}
}
答案 0 :(得分:3)
属性 document.body
的类型为HTMLElement
,但在大多数情况下,它指的是实际为HTMLBodyElement
的对象。
那么为什么document.body
没有输入HTMLBodyElement
?因为在某些文档中,它可能引用HTMLFrameSetElement
。 HTMLElement
是HTMLBodyElement
和HTMLFrameSetElement
的常见超类型。
规范中的document.body
更多信息。