如果在AJAX成功/失败之后,jquery无法在内部工作

时间:2014-06-17 21:25:08

标签: javascript jquery ajax

我刚开始学习AJAX 在发布之前,我已经搜索并参考了之前提出的问题,例如this,但它没有帮助 我的代码是:

$('.del').click(function(){
    $(this).parent().hide('slow');
    $.get( "index.php", {del:$(this).attr('id')}).done(function(data){
        if (data==='1') {
            $(this).parent().remove();
        }
        else{
            $(this).parent().show('slow');
        }
    });
});

if内的jquery语句以及else未执行为了验证每个事情都进展顺利我在语句中添加了alert并且它成功弹出但是jquery语句不起作用。什么问题以及如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

我认为您的$(this)引用在该范围内不正确。尝试:

$('.del').click(function(){
    var $this = $(this);
    $this.parent().hide('slow');
    $.get( "index.php", {del:$this.attr('id')}).done(function(data){
        if (data==='1') {
            $this.parent().remove();
        }
        else{
            $this.parent().show('slow');
        }
    });
});

答案 1 :(得分:0)

我认为可能是你的这个'变量超出了回调的范围。尝试绑定它,或使用jQuery' proxy() feature