2013-05-28 47 views
0

我想在jQuery ajax成功後隱藏特定的div內容。ajax成功後隱藏一個特定的div數據

現場演示:http://jsfiddle.net/t922q/

一些jQuery代碼:

$('.deletethisconent').click(function() { 
    // $.ajax({ .... 
     success: function(data){ 
     $(this).closest('.container').hide(); 
     $(".delete_status").html(data); 

    }); 

如何隱藏一個AJAX成功後目標DIV? 謝謝。

+0

的可能重複[$(本)中AJAX的成功不工作的(http://stackoverflow.com/questions/6394812 /這是在ajax-success-not-working裏面)和[jQuery ajax成功與$(this)不起作用?](http://stackoverflow.com/q/6889855/218196) 。 –

回答

4

this引用jqXHR對象,它是成功處理程序中的第三個參數。

成功:

功能(PlainObject數據,字符串textStatus,jqXHR jqXHR)

如果你想達到它,你需要到外this參考存儲在一個變量:

$('.deletethisconent').click(function() { 

    var that = this; 

    $.ajax({ 
     url: 'echo.php', 
     success: function(data){ 
      $(that).closest('.container').hide(); 
      $(".delete_status").html(data); 
     } 
    }); 
}); 
+2

'this'指的是jqXHR對象,而不是響應。 –

+0

@FelixKling對。更新。 – Johan

0

看起來好像你想隱藏數據,所以:

$('.deletethisconent').click(function() { 
    // $.ajax({ .... 
    success: function(data){ 
     $(this).closest('.container').css('display', 'none'); 
     $(".delete_status").html(data); 

}); 
0

this添加引用您的點擊功能,然後使用它:

$('.deletethisconent').click(function() { 
    var mainElement = this; 

    $.ajax({ 
     success: function(data) { 
      $(mainElement).closest('.container').hide(); 
     } 
    }); 
});