JavaScript闭包el.addEventListener不是一个函数

edg*_*ar7 3 javascript function

<div id="a">ONE</div>
<div id="b">TWO</div>
<div id="c">THREE</div>
var el = document.getElementsByTagName("div");

for ( var i = 0; i < el.length; i++ ) (function(){
 el.addEventListener("click",function(){
  console.log(this.id + " " + this.innerHTML);
 },false);
})(i);
Run Code Online (Sandbox Code Playgroud)

给我错误"el.addEventListener不是函数",有什么问题?

Tee*_*emu 5

el是一个HTMLCollection,你忘了使用索引:

el[i].addEventListener("click",function(){...};
Run Code Online (Sandbox Code Playgroud)