Javascript 为什么未定义this.id.src中的src(在调试器中)[在iife中]

Javascript 为什么未定义this.id.src中的src(在调试器中)[在iife中],javascript,getelementbyid,event-listener,src,iife,Javascript,Getelementbyid,Event Listener,Src,Iife,为什么在调试器中未定义this.id.src中的src?我不明白为什么这样不行。我以前有过这样的工作,但是有一个特定的id(不是this.id),有人有什么建议吗 document.getElementById(“a1”).addEventListener(“单击”,myFunction); 函数myFunction(id){ console.log(this.id);//有效 this.id.src=“images/red.jpg”; } 在id属性上没有src属性。您必须直接使用它this

为什么在调试器中未定义this.id.src中的src?我不明白为什么这样不行。我以前有过这样的工作,但是有一个特定的id(不是this.id),有人有什么建议吗

document.getElementById(“a1”).addEventListener(“单击”,myFunction);
函数myFunction(id){
console.log(this.id);//有效
this.id.src=“images/red.jpg”;
}

id
属性上没有
src
属性。您必须直接使用它
this.src
。传递给函数的参数是事件,而不是id:

document.getElementById(“a1”).addEventListener(“单击”,myFunction);
函数myFunction(e){
this.src=”http://via.placeholder.com/150x150";
}


this.id.src
表示对象上名为“src”的属性,即对象“this”上名为“id”的属性的值。DOM节点的“id”属性的值始终是字符串,因此它永远不会有“src”属性。您可能只需要
这个.src
。您的代码中没有生命。