首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JQuery变量作用范围求解啊该如何解决

2012-03-27 
JQuery变量作用范围求解啊JScript code$(#camps).empty()for ( var i 0 i 5 i++) {var camp $(

JQuery变量作用范围求解啊

JScript code
    $("#camps").empty();    for ( var i = 0; i < 5; i++) {        var camp = $("<button class='camp camp-text'>" + i + "</button>")        .button().click(function() {            alert(i);        });        $("#camps").append(camp);    }


通过上面代码生成5个按钮, 但是不论我点那个按钮都会弹出5~ 相当于i始终就等于最后一次的结果,求各位大哥帮忙解答下, 这是怎么回事啊 , 如果才能使其弹出相应的值呢 ,

[解决办法]
for ( var i = 0; i<5; i++) {
var camp = $("<button class='camp camp-text' id="+i+">" + i + "</button>")
.button().click(function() {
alert(id);
});
[解决办法]
i只有一个值,你的程序运行完了,i的值就固定了,你应该把i值绑定到按钮的属性上
[解决办法]
“弹出相应的值”的方法
HTML code
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js"></script><div id="camps"></div><script language="javascript" type="text/javascript">      $("#camps").empty();    for ( var i = 0; i < 5; i++) {        var camp = $("<button class='camp camp-text'>" + i + "</button>").click(function() {            alert(this.innerHTML);        });        $("#camps").append(camp);    }</script>
[解决办法]
探讨

这个闭包是什么意思啊 ?

热点排行