您无法扩展HTMLDivElement,因为它未声明为类.这是有道理的,因为底层的本机类型扩展没有意义.
您有两种备选方案.
选项1:实施!
因为HTMLDivElement是一个接口,你可以实现它…
class QuizElement implements HTMLDivElement {
您必须实现该接口的所有属性和方法.你可能不想这样做.
选项2:授权.
您可以公开要在QuizElement类上使用的特定属性和方法,然后委派给实际的HTMLDivElement实例.下面的简单示例:
class QuizElement {
private element: HTMLDivElement;
constructor(id: string) {
this.element = document.getElementById(id);
}
set innerHTML(content: string) {
this.element.innerHTML = content;
}
}
var quizElement = new QuizElement('quiz');
quizElement.innerHTML = 'Example';