“context : this”と設定するとコールバック関数内で$(this)を使えるようになる。
jQuery
$('.hoge').on('click', function() {
$.ajax({
type:'POST',
url:'https://example.com/hoge',
dataType: 'json',
context : this, // これでコールバック関数内で$('hoge')を$(this)として使える
}).done(function (result){
// 成功時
}).fail(function(jqXHR, textStatus, errorThrown){
// 失敗時
});
});
公式ドキュメントを見るとDOMを渡せるらしく、thisだけではなくdocument.bodyなども渡せる(渡したものがコールバック関数内での$(this)となる)。
公式ドキュメントのサンプル
$.ajax({
url: "test.html",
context: document.body
}).done(function() {
$( this ).addClass( "done" ); // になる
});
jQuery.ajax() | jQuery API Documentation