Tôi cố gắng để nhanh chóng HTMLDivElement mới trong nguyên cảoInstantiating phần tử html mới trong nguyên cảo
var elem = new HTMLDivElement();
nhưng trình duyệt ném
Uncaught TypeError: Illegal constructor.
Cách giải quyết có vẻ là để sử dụng
var elem = document.createElement('div');
nhưng Tôi thấy điều này tối ưu cho các lý do khác nhau.
Tại sao tôi không thể tạo nhanh trực tiếp các phần tử DOM khi có một từ khóa mới cho trong trong lib.d.ts?
declare var HTMLDivElement: {
prototype: HTMLDivElement;
new(): HTMLDivElement;
}
tuyệt vời giải thích. Có thể có một nhận xét trong lib.d.ts giải thích điều này không? Hoặc bạn không muốn gây ô nhiễm lib.d.ts với các bình luận? –
Bạn có nên thêm cảnh báo hoặc lỗi từ 'tsc' cho mã gọi các hàm tạo trên các lớp con của' Element' không? –
Nếu bạn mở rộng HTMLElement, ví dụ 'class Thing mở rộng HTMLElement' thì bạn CÓ THỂ sử dụng mới để tạo một cá thể với' let t = new Thing() '. Sau đó, bạn có thể thêm nó vào DOM! – Kokodoko