2016-02-07 25 views
11

Tôi đang cố gắng đặt một số HTML bên trong một div cụ thể. Khi tôi thử điều này trong bản in, tôi nhận được lỗi này: Property 'innerHTML' does not exist on type 'Element'. Về cơ bản, đây là đoạn code:Cách tránh lỗi kiểu chữ: Thuộc tính 'innerHTML' không tồn tại trên loại 'Element'

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

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

Thật ngạc nhiên, nó vẫn hoạt động khi Typescript biên dịch, nhưng tôi đang tự hỏi nếu nguyên cảo được đem lại cho tôi một lỗi, đúng cách để đi trên giao innerHTML trong trường hợp này là những gì?

Trả lời

25

Sử dụng một loại khẳng định để xoa dịu các trình biên dịch:

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

hoạt động như ma thuật, cảm ơn! – Ivan

1

tôi đã cùng một vấn đề, giải quyết nó bằng cách tuyên bố nó như là:

myString = 'hello world'; 

var el: HTMLElement = document.getElementById('id_of_element'); 
el.innerHTML = myString; 
Các vấn đề liên quan