下面這段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)的話,實踐證明,是取不到任何對象的。具體原因,希望大神留言指教。。