使用Ajax Jquery each()函数循环

时间:2011-04-05 05:42:47

标签: javascript jquery ajax each

我希望用我的ajax结果替换每个div类中的值,但是我似乎无法在循环期间将我的表结果附加到单个div类。我知道$(this).append(table)被错误地放置了,因为它不在ajax请求之外。我如何修改它以获得我想要的效果?

我的脚本是这样的:

$('.developer_badgesarea').each(function(){
    // get the div class value to perform ajax
    var player_id = $(this).html();
    var table;

    // if condition to conduct ajax
    if(player_id != 'None'){

        $.ajax({
            // ajax stuff here
            success: function(result){
                //table created here
                $(this).append(table);
            }
        });
    }
});

1 个答案:

答案 0 :(得分:3)

问题是ajax成功函数中的“this”引用。它引用了回调函数,而不是您希望引用它的dom元素。

$('.developer_badgesarea').each(function(){
    // element reference to your div, that you'll access inside your ajax call
    var elm = $(this);
    // get the div class value to perform ajax
    var player_id = elm.html(); 
    var table;

// if condition to conduct ajax
if(player_id != 'None'){

    $.ajax({
        // ajax stuff here
        success: function(result){
            //table created here
            elm.append(table);
        }
    });
}

});