w3053_5fdf588 2011-02-12 15:57
浏览 201
已采纳

jquery的each和js中的for

下面的代码中用each会得到结果
0
123
1
456

for中结果为
2
a[]为null或不是对象

为什么.....
求解释啊

[code="java"]
$(document).ready(function(){
var a=[{name:"123"},{name:"456"}];
for(i=0;i<a.length;i++){
var b=a[i].name;
$("#row"+i).click(function(){
alert(i);
alert(a[i].name);
});
}
});

$(document).ready(function(){
    var a=[{name:"123"},{name:"456"}];
    $.each(a,function(in){
        var b=a[i].name;
        $("#row"+i).click(function(){
            alert(i);
            alert(a[i].name);
            alert(n.name);
        });
    });
1
2

[/code]

  • 写回答

2条回答 默认 最新

  • messchapters 2011-02-12 17:22
    关注

    [code="js"]
    $(document).ready(function(){

    var a=[{name:"123"},{name:"456"}];

    for(i=0;i<a.length;i++){

    var b=a[i].name;
    $("#row"+i).click((function(i){

    return function() {
    alert(i);
    alert(a[i].name);
    }
    }) (i));

    }

    });
    [/code]
    改成这样就可以了
    原来的时候当点击时去读取i的值,那时的i已经是2了 所以会出现你说的问题

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程