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

Why src in this.id.src undefined (in debugger) [inside an iife]

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

document.getElementById("a1").addEventListener("click", myFunction);

function myFunction (id) {
 console.log(this.id);  // works
 this.id.src="images/red.jpg";
}
<div>
<img id="a1" src="images/black.jpg">
</div>

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

document.getElementById("a1").addEventListener("click", myFunction);

function myFunction(e) {
  this.src = "http://via.placeholder.com/150x150";
}
<div>
  <img id="a1" src="http://via.placeholder.com/100x100">
</div>