6

可能重复:
$(this) 在函数中不起作用

我正在用 jQuery 编写删除后的代码,删除本身是通过对支持的后请求进行的,在服务器返回 200 后,我想在客户端删除这篇文章。

$('.delete-post').click(function() {
    $.post($(this).attr('href'), {}, function(data) {
        $(this).closest('.post').remove();
    });
    return false;
});

但是,我注意到里面的 function(data) {...) 选择器 'this' 不起作用。$('.delete-post')我需要使用“.post”类删除最接近div 的内容。如何管理这个问题?谢谢!

4

1 回答 1

14

$(this)存在于click eventfunction(data) {不是点击事件的一部分rather callback function。因此,将 $(this) 保存在某个变量中以that供以后使用。

试试这个:

$('.delete-post').click(function(e) {
    e.preventDefault();
    var that = $(this);
    $.post(that.attr('href'), { }, function(data) {
        // $(this).closest('.post').remove();
        that.closest('.post').remove();
    });
});
于 2012-07-15T19:19:46.037 回答