1、我想实现的功能是:在一个循环里生成两个div,点击时弹出各自的序号
上代码:
for(i=0;i<2;i++)
{
var div=document.createElement("div");
//设置大小颜色等的代码
...
//
div.onclick=function(){alert(i)};
document.body.appendChild(div);
}
2、好的,实际结果是,无论我点击哪一个div,总是会弹出2 我想的是在点击第一个时弹出0,点第二个时弹出1,这个.....
想了半天,没想出好的解决办法来?
难道要我switch?那我如果有100个div呢?
谢咯
上代码:
for(i=0;i<2;i++)
{
var div=document.createElement("div");
//设置大小颜色等的代码
...
//
div.onclick=function(){alert(i)};
document.body.appendChild(div);
}
2、好的,实际结果是,无论我点击哪一个div,总是会弹出2 我想的是在点击第一个时弹出0,点第二个时弹出1,这个.....
想了半天,没想出好的解决办法来?
难道要我switch?那我如果有100个div呢?
谢咯
for(i=0;i<2;i++)
{
var div=document.createElement("div");
//设置大小颜色等的代码
...
//
div.onclick=(function(i){
return function(){
alert(i)
}
}(i);
document.body.appendChild(div);
}
试下吧