2016-02-07 52 views
11

我想在特定的div中放置一些HTML。当我在打字稿中尝试这个时,我得到这个错误:Property 'innerHTML' does not exist on type 'Element'。基本上,这是代码:如何避免打字稿错误:属性'innerHTML'不存在类型'元素'

document.body.innerHTML = '<div id="myDiv"><div>' 

let myContainer = document.querySelector("#myDiv"); 
myContainer.innerHTML = '<h1>Test</h1>'; 

令人惊讶的是,当打字稿编译它仍然有效,但我想知道如果打字稿是给我的错误,什么是去在这种情况下分配的innerHTML的正确方法?

回答

25

使用类型声明,以安抚编译:

let myContainer = <HTMLElement> document.querySelector("#myDiv"); 
myContainer.innerHTML = '<h1>Test</h1>'; 
+0

作品很神奇,谢谢! – Ivan

1

我有同样的问题,宣称它作为解决它:

myString = 'hello world'; 

var el: HTMLElement = document.getElementById('id_of_element'); 
el.innerHTML = myString; 
相关问题