Javascript 扩展DOM元素的原型

Javascript 扩展DOM元素的原型,javascript,oop,prototype,extending,Javascript,Oop,Prototype,Extending,我想知道是否有可能扩展DOM元素的原型。 我知道 Element.prototype.newMethod=function(){} 可以工作,但是这会将其应用于带有任何标记的每个元素,因此a,form,img将实现该方法 我只想将其添加到单个元素。要解决此问题,如前所述,您可以通过以下方式扩展所有元素的原型: Element.prototype.newMethod=function(){} 但是,要将其添加到单个DOM元素,可以执行以下操作: HTMLXyzElement.prototype.n

我想知道是否有可能扩展DOM元素的原型。 我知道

Element.prototype.newMethod=function(){}
可以工作,但是这会将其应用于带有任何标记的每个元素,因此
a
form
img
将实现该方法


我只想将其添加到单个元素。

要解决此问题,如前所述,您可以通过以下方式扩展所有元素的原型:

Element.prototype.newMethod=function(){}

但是,要将其添加到单个DOM元素,可以执行以下操作:

HTMLXyzElement.prototype.newMethod=function(){}

其中
Xyz
是您的元素,例如:

HTMLFormElement
HTMLImageElement
htmlanchoreelement
htmldevelment

要找到更多这些,只需在浏览器中打开控制台并开始键入HTML…

我试图将以下内容转换为扩展函数
HTMLImageElement.prototype.asyncSrc()
,但它说没有看到onload函数<代码>函数asyncSrc(image,src){返回新承诺((resolve,reject)=>{image.onload=()=>resolve();image.onerror=reject;image.src=src;});}
嘿,本杰明,我不确定我是否理解你的问题,你应该有这样的东西:
imageelement.prototype.htmsrc=(image,src)=>新承诺((y n)=>this.onload=()=>resolve())