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>
[解决办法]