jQuery ajax使用$(this).parent()无效解决方法

html

 代码如下 复制代码
<p class="item">
<input type="text" name="meta_key[164]" value="file1" size="20"  /><a href="/18" id="164" class="button remove">remove</a>
</p>

需求说明:
鼠标点击‘remove’链接,根据ajax的返回值删除页面元素。

无效的方法

 代码如下 复制代码
$('.remove').bind('click',function(){
   
   $.ajax({
   type:'post',
   url:$(this).attr('href'),
   dataType : 'json',
   data:{id : $(this).attr('id')},
   success:function(msg){
      if(msg.error==0){
        alert(msg.msg);
     }else{
        $(this).parent().remove(); //此处无法获得父级元素
     }
     }
   
    });
   return false;
   });

有效的方法

 代码如下 复制代码
$('.remove').bind('click',function(){
  
   div=$(this).parent(); //先获取父级元素
  
   $.ajax({
   type:'post',
   url:$(this).attr('href'),
   dataType : 'json',
   data:{id : $(this).attr('id')},
   success:function(msg){
    if(msg.error==0){
     alert(msg.msg);
    }else{
      div.remove(); //再删除
    }
     }
   
    });
   return false;
   });

其他类似问题也可以通过相同方法解决

时间: 2024-10-29 07:40:51

jQuery ajax使用$(this).parent()无效解决方法的相关文章

真正的JQuery.ajax传递中文参数的解决方法_jquery

本人最近也遇到了需要传递中文参数的问题.在网上搜索一下,复制粘贴发的到处都是的"终极""解决方案"无非就是escape(str)来转码,然后在服务端还要写个方法再编辑一次,或用System.Text.Encoding下的方法来换来换去. 我很久以前一直在使用Prototype框架.在.net-GB2312或jsp-utf8下都使用过,从来没遇到有字符编码的问题.于是将Prototype和JQuery代码都下载下来打开研究原因.具体结果如下 不同之处在于JQuery默

JQuery.ajax传递中文参数的解决方法 推荐_jquery

本人最近也遇到了需要传递中文参数的问题.在网上搜索一下,复制粘贴发的到处都是的"终极""解决方案"无非就是escape(str)来转码,然后在服务端还要写个方法再编辑一次,或用System.Text.Encoding下的方法来换来换去. 我很久以前一直在使用Prototype框架.在.net-GB2312或jsp-utf8下都使用过,从来没遇到有字符编码的问题.于是将Prototype和JQuery代码都下载下来打开研究原因. 不同之处在于JQuery默认的cont

jquery ajax 没有返回值的解决方法

 代码如下 复制代码 //添加async:false.即修改为同步 //  function vcodeYes() {         var bol = false;         $.ajax(     {         type: "GET",         url: "../Ajax/ValidationCode.ashx",         data: { txtVcode: $('#<%=txtVcode.ClientID%>').va

IE下Ajax缓存问题的快速解决方法

 IE下Ajax缓存问题的快速解决方法(get方式).网上搜了很多解决方案,一大把,下面是我认为比较全面的解决方案.主要分为客户端解决和服务端解决 折腾了半天,程序中使用jquery的load方法进行请求,很奇怪为啥第二次无法发送请求.百度了一把,谁知load是用get方式进行请求的,因此IE浏览器对   其进行缓存了.网上搜了很多解决方案,一大把,下面是我认为比较全面的解决方案.主要分为客户端解决和服务端解决.   1.客户端解决方案 IE访问策略:Internet选项--浏览历史记录--设置

jquery中的常见问题及快速解决方法小结_jquery

1 在开发开放聊天室的过程中,遇到使用ajax提交表单插入数据库时会插入两条数据的情况 解决办法,在ajax函数返回后,return false. $("#btn").click(function(){ $.ajax({ do something }); return false; }) 2 去除选中元素的某一个属性使用removeattr 3 javascript中与时间相关的函数有setInterval("function",millisec[,"la

jquery 与NVelocity 产生冲突的解决方法_jquery

NVelocity的$与Jquery的$发生冲突时的解决方法有以下几个: 1. 使用jQuery.noConflict. 如:var j = jQuery.noConflict(); j.ajax(); 缺点:当使用jQuery的相关插件时,会使得插件失效哦! 2. 使用jQuery代替$. 如:jQuery.ajax(); 缺点:不适合扩展,一旦替换成第三方库时,那就麻烦大发 3. wrap jQuery中的冲突方法. 如$.ajax()在Velocity中会冲突,则重新定义如下: funct

jQuery prototype冲突的2种解决方法(附demo示例下载)_jquery

本文实例分析了jQuery prototype冲突的2种解决方法.分享给大家供大家参考,具体如下: jquery和prototype怎么会冲突,归根到底就是因为他们二个都用到了$,同时用,混淆了.这个问题解决过不下5次,每次解决都要查一下.淡疼,嘿嘿. 方法一.在jquery的核心库文件中加代码. 1.一般是jquery.js,或者jquery.min.js,有的带版本号的.知道是哪个文件就行. })( window ); jQuery.noConflict(); //最后面,加上这一行. 2.

jQuery Dialog 打开时自动聚焦的解决方法(两种方法)_jquery

下面给大家介绍两种方法解决jQuery Dialog 打开时自动聚焦问题.具体实现方法大家可以参考下本文. 方法一: p1_dialog_seniorSearch.dialog({ title:"高级查询", autoOpen:false,//默认关闭 modal: true,//开启遮罩层 width:570, height:330, buttons: { "查询":function(){ seniorSearch(1,20) } , "关闭"

浅谈jQuery绑定事件会叠加的解决方法和心得总结_jquery

关于jQuery的学习中我忽略了一个取消绑定事件.unbind()的使用,也不知道绑定事件会累加的情况,结果因为这个原因,让我在项目上栽了坑.只能说自己还太年轻,需要学习掌握的知识还有很多. 我遇到的问题 我在项目中遇到的状况,一个评价页面,简单的来说就是左右两个表格,ajax分别动态加载学生姓名学号信息和不同科目对学生评价内容两部分,两边表格我都每行写了checkbox并对table tbody tr绑定click事件执行行选功能,起初我写的是静态页面html,行选功能完全没有问题,后来换成j