2016-02-07 30 views
11

Sto provando a inserire un codice HTML all'interno di un div specifico. Quando provo questo in dattiloscritto ottengo questo errore: Property 'innerHTML' does not exist on type 'Element'. Fondamentalmente, questo è il codice:Come evitare l'errore di dattiloscritto: La proprietà 'innerHTML' non esiste sul tipo 'Elemento'

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

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

Sorprendentemente, funziona ancora quando dattiloscritti compila, ma mi chiedo se dattiloscritto mi sta dando un errore, qual è il modo giusto per andare avanti assegnando innerHTML in questo caso?

risposta

25

utilizzare un tipo di asserzione per placare il compilatore:

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

funziona come per magia, grazie! – Ivan

1

ho avuto lo stesso problema, risolto dichiarando come:

myString = 'hello world'; 

var el: HTMLElement = document.getElementById('id_of_element'); 
el.innerHTML = myString; 
Problemi correlati