2016-02-07 12 views
11

Próbuję umieścić kod HTML wewnątrz określonego elementu div. Kiedy próbuję tego w maszynopisie, pojawia się ten błąd: Property 'innerHTML' does not exist on type 'Element'. W zasadzie, jest to kod:Jak uniknąć błędów maszynopisu: Właściwość 'innerHTML' nie istnieje w typie "Element"

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

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

dziwo, to nadal działa, gdy maszynopisy kompiluje, ale zastanawiam się, czy maszynopis daje mi błąd, jaka jest właściwa droga na przypisanie innerHTML w tym przypadku?

Odpowiedz

25

użyć typu twierdzenie udobruchać kompilatora:

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

działa jak magia, dzięki! – Ivan

1

Miałem ten sam problem, rozwiązać go deklarując je jako:

myString = 'hello world'; 

var el: HTMLElement = document.getElementById('id_of_element'); 
el.innerHTML = myString; 
Powiązane problemy