网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
下面这段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)的话,实践证明,是取不到任何对象的。具体原因,希望大神留言指教。。
上一篇:创建ajax对象并兼容多个浏览器
下一篇:关于JavaScript跨域问题及实时刷新解决方案
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。