Typescript:属性'src'在类型'HTMLElement'上不存在

Bjö*_*rth 17 javascript typescript

我从Typescript收到错误,我不知道如何纠正它."编译"时代码工作正常,但我无法纠正错误.我从代码中提取了涉及错误的部分.我想我必须预先确定src但不确定如何.

编辑器和Gulp编译错误消息:

"属性'src'不存在于类型'HTMLElement'.at第53行col 17"

...

element:HTMLElement; /* Defining element */

'''
this.element = document.createElement('img'); /*creating a img*/

'''
Run Code Online (Sandbox Code Playgroud)

这是我运行的方法,用于渲染元素,位置,顶部和左边的所有工作而没有给出错误.

display() {
   this.element.src = this.file; /*This is the line that gives the error*/
   this.element.style.position = "absolute";
   this.element.style.top = this.pointX.toString() + "px";
   this.element.style.left = this.pointY.toString() + "px";

   document.body.appendChild(this.element);
};
Run Code Online (Sandbox Code Playgroud)

Ode*_*ner 30

使用铸造:

(<HTMLImageElement>document.querySelector(".company_logo")).src
Run Code Online (Sandbox Code Playgroud)


Joh*_*isz 18

因为src不是该HTMLElement类型的属性,而是HTMLImageElement.

如果您确定您将获得img元素,则可能需要使用正确的子类型声明您的变量:

element: HTMLImageElement; /* Defining element */

// ...

this.element = document.createElement('img'); /*creating a img*/
Run Code Online (Sandbox Code Playgroud)

此外,您可能希望了解document.createElement返回的内容.如果指定"img"为其参数,则它是相同的类型.


Qii*_*iia 13

搭配:

var myImg = document.getElementById('myId') as HTMLImageElement;
myImg.src = "imgSrc";
Run Code Online (Sandbox Code Playgroud)


小智 5

document.getElementById('img').setAttribute( 'src', 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==' );
Run Code Online (Sandbox Code Playgroud)

通过设置属性方法设置源。