发布网友 发布时间:2022-04-24 08:22
共4个回答
懂视网 时间:2022-04-24 12:43
用jquery的ajax的回调函数时出现了问题,就是在回调函数中不能使用$(this)。这个问题一直弄了很久,怎么也解决不了,后来是在调用函数前先把$(this)存入变量,然后再在回调函数中使用就没问题了,在这作一下笔记。$(document).ready(function(){ $(“.del”).click(function () { obj=$(this).parent();//回调函数前先写入变量; delid=$(this).attr(‘delid’); $.get(‘drag.php’,{‘op’ : ‘del’,'id’ : delid},function(data){ if(data==1){ alert(‘删除成功’); obj.remove();//直接写$(this).parent()不会起作用。 }else{ alert(‘删除失败’); } }); }); });
热心网友 时间:2022-04-24 09:51
你在ajax方法里写$(this)指向的是最近调用它的jquery对象,所以这里的$(this)指的是ajax对象,而不是$(".enter_caozuo").find(".gd"),要想解决这个问题,就需考虑增加一个中间变量传递这个对象,如楼上所说的那样做,示例:热心网友 时间:2022-04-24 11:09
确实不能用,在ajax外面弄个变量var mythis = $(this),然后在里面用就行了。热心网友 时间:2022-04-24 12:44
试试下面这个。(在$.ajax之前将$(this) 赋给_that,然后在$.ajax()中你原来用$(this)的地方换成_that.$(".enter_caozuo").find(".gd").click(function(){ _that = $(this);//注意这个_that $.ajax({