2010-07-11 56 views
2

我要做到以下幾點...如何將此元素傳遞給getJSON的結果?

$('.showcomments').click(function() 
    { 
     $(this).parent().hide(); 
     jQuery.getJSON('comments.json',function($data) 
     { 
      $(this).parent().append($data['value']) 
        //this is meant to be the instance of 
        //$('.showcomments') that has been clicked 
     }); 
    }); 

問題是當然的getJSON回調並沒有繼承這個項目......但我怎麼做我打算?

回答

7

參考它在一個變量:

$('.showcomments').click(function() 
{ 
    var $th = $(this); // References the clicked .showcomments 
    $th.parent().hide(); 
    jQuery.getJSON('comments.json',function($data) 
    { 
     $th.parent().append($data['value']); // will reference the correct element 
    }); 
}); 
+1

我的想法完全吻合。在AJAX請求的回調函數中,this是對請求的引用。 – 2010-07-11 15:35:30