以下js有什么问题,该如何解决?
var es = document.getElementsByTagName('dev');
for(var i in es){
es.onclick = function(){
alert(i)
}
}
1.es是列表不能赋值onclick
2. i 会展现最后的值
解决
var es = document.getElementsByTagName('div');
for(let i in es){
es[i].onclick= function(){
alert(i);
};
}
//或者
for(var i = 0; i < es.length; i++){
var temp = i;
es[i].onclick = function(){
alert(temp);
}
}
//或者 闭包
for(var i in es){
(function(){
var temp = i;
es[i].onclick= function(){
alert(temp)
};
})(i)
}