6

重複の可能性:
$(this) は関数では機能しません

私はjQueryでポスト削除コードを書いています.削除自体は、サーバーが200を返した後、backedsへのポストリクエストを介して行われます.クライアント側でこの投稿を削除したい.

$('.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 functionthatしたがって、後で使用するために、たとえば変数に $(this) を保存します。

これを試して:

$('.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 に答える