jquery 闭包。。

zsyok 2011-05-11 02:39:18

<script src="js/jquery-1.4.3.min.js" type="text/javascript"></script>


<script type="text/javascript">
$(document).ready(function(){
for(var i=0;i<10;i++)
{
var div=$("<div style='width:100px; heigh:100px; background:scroll 1px #0C9; margin:10px;'> aa </div>");
$("#ab").append(div);
$(div).click(function(){
alert(i);
});
}

})
</script>
</head>

<body id="ab">

</body>


每次都是弹出10 是不是要 闭包。
我要每次弹出当前i 1,2,3.....



...全文
159 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangchuan2009 2011-05-12
  • 打赏
  • 举报
回复
这是闭包引起,可以这样解决
$(document).ready(function(){
for(var i=0;i<10;i++)
{
var div=$("<div style='width:100px; heigh:100px; background:scroll 1px #0C9; margin:10px;'> aa </div>");
$("#ab").append(div);
$(div).bind("click",{'$i':i},function(event){
alert(event.data['$i']);
});
}

})
toury 2011-05-11
  • 打赏
  • 举报
回复

<script type="text/javascript">
$(document).ready(function(){
for(var i=0;i<10;i++){
var div=$("<div style='width:100px; heigh:100px; background:scroll 1px #0C9; margin:10px;'> aa </div>");
$("#ab").append(div);
$(div).click(function(i){
return function(){alert(i);}
}(i));
}
});
</script>
燥动的心 2011-05-11
  • 打赏
  • 举报
回复
可以这样
$(document).ready(function(){
for(var i=0;i<10;i++)
{
var div=$("<div style='width:100px; heigh:100px; background:scroll 1px #0C9; margin:10px;' > aa </div>");

$("#ab").append(div);
(function(i){


$(div).click(function(){
alert(i);
});

})(i+1);
}
})
foolbirdflyfirst 2011-05-11
  • 打赏
  • 举报
回复
$(div).click(function(i){
return function(){
alert(i);
}
}(i));
zell419 2011-05-11
  • 打赏
  • 举报
回复

var div=$("<div style='width:100px; heigh:100px; background:scroll 1px #0C9; margin:10px;' num="+i+"> aa </div>");
$("#ab").append(div);
$(div).click(function(){
alert($(this).attr("num"));
});

这样加个自定义属性行么 ?
燥动的心 2011-05-11
  • 打赏
  • 举报
回复
$(document).ready(function(){
for(var i=0;i<10;i++)
{
var div=$("<div style='width:100px; heigh:100px; background:scroll 1px #0C9; margin:10px;' > aa </div>");
div.data("val",i+1);
$("#ab").append(div);
$(div).click(function(){
alert($(this).data("val"));
});
}

})
我喜欢这样.
zsyok 2011-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 pj100 的回复:]

是不是要 闭包。

[/Quote]

要效果。。怎样实现#
燥动的心 2011-05-11
  • 打赏
  • 举报
回复
是不是要 闭包。
zsyok 2011-05-11
  • 打赏
  • 举报
回复
急。。马上结贴

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧