ajax回调函数中使用$(this)取不到对象的解决方法

  下面这段jquery代码,是可以达到预期效果的。

  

复制代码 代码如下:

  $(".derek").each(function(){

  $(this).click(function(){

  var params = $(this).parent().serialize();

  var obj=$(this).parent().siblings("div#caskContent");

  var form=$(this).parent();

  $.ajax({

  url:"editCaskContent",

  type:"post",

  data:params,

  dataType:"json",

  success:function(e){

  obj.empty();

  obj.html("<font color=\"#00AA00\">追问:</font>");

  obj.append(e.caskContent);

  form.toggle();

  alert("修改成功!");

  },

  error:function(e){

  alert(e);

  }

  });

  });

  });

  其中,大家可以看到,在发出ajax请求之前,我提前定义了两个变量,obj和form,分别用来存储两个jquery对象。如果在ajax的回调函数内使用$(this)的话,实践证明,是取不到任何对象的。具体原因,希望大神留言指教。。