jquery关于遍历数组的一个问题
$(function () {
var str = "1,2";
var arr = str.split(',');
for (var i = 0; i < arr.length; i++) {
$("#a"+arr[i]).bind("click", function () {
alert(arr[i]);
});
}
})
首先,我页面有两个链接,他们的ID分别是1,2
我的做法很简单,单击ID为1的链接,则弹出1;单击id为2则显示2;
但目前我的写法却显示出undefined,请问我要如何改 jquer jQuery 遍历 函数 JavaScript
[解决办法]
$(function () {
var str = "1,2";
var arr = str.split(',');
for (var i = 0; i < arr.length; i++) {
$("#a"+arr[i]).bind("click", (function(_i){
return function () {
alert(_i);
}
})(arr[i]));
}
});
[解决办法]
<button id="a1">a1</button>
<button id="a2">a2</button>
<script type="text/javascript">
//这个需要用到闭包
var str = "1,2";
var arr = str.split(',');
for (var i = 0; i < arr.length; i++) {
document.getElementById("a"+arr[i]).onclick=(function(n){
return function(){
alert(n);
}
})(arr[i]);
}
</script>