$(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>