我想知道为什么$(this)在jQuery ajax调用之后不起作用.
我的代码是这样的.
$('.agree').live("click",function(){ // use live for binding of ajax results var id=($(this).attr('comment_id')); $.ajax({ type: "POST",url: "includes/ajax.PHP?request=agree&id="+id,success: function(response) { $(this).append('hihi'); } }); return false; });
解决方法
在jQuery ajax回调中,“this”是对ajax请求中使用的选项的引用.它不是对DOM元素的引用.
你需要首先捕获“外部”$(this):
$('.agree').live("click",function(){ // use live for binding of ajax results var id=($(this).attr('comment_id')); var $this = $(this); $.ajax({ type: "POST",success: function(response) { $this.append('hihi'); } }); return false; });