属性 类型 jQuery 上不存在 src

Property src does not exist on type jQuery

我正在尝试使用 event.target 更改图像的 src。

在正常情况下 html,下面的 js 代码有效:

event.target.src = 'https://cdn.iconscout.com/icon/free/png-256/car-location-find-navigate-gps-location-29571.png';

但在 typescript 中出现错误。正如论坛上的建议,我正在尝试使用以下代码在打字稿中实现,但出现了不同的错误。

我怎样才能做到这一点?下面是我的代码:

Home.ts

export class EditsectionPage {
  element: HTMLImageElement; /* Defining element for changing src */
...//more code here

// when I right click on image, context menu opens with a button, on clicking that button below code is fired

event.target.element.src = 'https://cdn.iconscout.com/icon/free/png-256/car-location-find-navigate-gps-location-29571.png';

错误来了:

[ts] Property 'element' does not exist on type 'Element'.

如何解决这个错误?

event(属于 Event 类型)的 target 属性 被键入为 EventTarget。如果您知道目标是 HTMLImageElement,最简单的解决方案是在 targert

上使用类型断言
(event.target as HTMLImageElement).src = ""

您的活动是一个 EventTarget。您需要将目标转换为所需的类型,前提是您 100% 确定它将是 HTMLImageElement。此外,event.target 是您的元素,无需键入 event.target.element.

结果解 :

export class EditsectionPage {
  element: HTMLImageElement; /* Defining element for changing src */

  //more code here

  /* when i right click on image, context menu opens with a button, on clicking that 
  button below code is fired */

  (event.target as HTMLImageElement).src = 'https://cdn.iconscout.com/icon/free/png-256/car-location- 
  find-navigate-gps-location-29571.png';

  //more code here
}