javascript问题,高手进来

来源:百度知道 编辑:UC知道 时间:2024/06/08 06:46:52
for(var i=0;i<5;i++){
var x=document.createElement('div');
x.innerHTML='div'+i;
x.onclick=function(){ alert(i); };
document.body.appendChild(x);
}

然后点击每个div 出来的值都是5 怎么办 ?

onclick等这类事件是 激活时才运行的, 在循环时,仅保存了一个函数入口供调用

点击时, for循环早已结束,所以i固定为5

解决方案: 依靠div自身信息获得所需参数,在此例中

x.onclick=function(){ alert(this.innerHTML.replace(/div/, ''));};