全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JQuery Ajax 异步操作之动态添加节点功能

异步操作动态添加节点,导致在代码中给添加的节点全局绑定事件或者获取元素无效,上代码:

$(function () {
  var IP = '...'; // 页面中的默认编号起始值 和  公用IP前缀
  showData();
  function showData() {
    if ($('.content')) $('.content').remove();
    $.ajax({
      url:IP + '/get',
      type:'get',
      success:function (data) {
        var newInfo = '';
        if(!data) return alert('对不起,没有数据可供操作!');
        newInfo +='<div class="btnBox">' +
               '<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="remove">删除</a>' +
               '<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="change">修改</a>' +
             '</div>';
        });$('body').append(newInfo);
      },
      error:function (err) {
         alert(err);
       }
    });
  }
}
//这是一段很明显的通过JQuery-ajax前后台交互并动态添加的代码;
//但是,如果你在该方法(showData())外面来给上述动态添加的a标签添加事件或者获取值的时候可能会出现无效的情况:
  $('.remove').click(function(){
    alert('这是删除按钮!');
  });
  //页面中则不会弹出(这是删除按钮!)的弹框;

那么,问题出在哪里呢?

事实上,ajax从后台获取数据再显示到我们的页面中的过程是异步的,也就是说当我们利用ajax从后台获取值得时候,在ajax之后的代码是一直往下执行着走的,而不会等着你ajax获取并创建节点完成后再往下继续执行,这便是异步请求的机制,对于这个问题我们怎么解决呢:

$(function () {
  var IP = '...'; // 页面中的默认编号起始值 和  公用IP前缀
  showData();
  function showData() {
    if ($('.content')) $('.content').remove();
    $.ajax({
      url:IP + '/get',
      type:'get',
      success:function (data) {
        var newInfo = '';
        if(!data) return alert('对不起,没有数据可供操作!');
        newInfo +='<div class="btnBox">' +
               '<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="remove">删除</a>' +
               '<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="change">修改</a>' +
             '</div>';
        });$('body').append(newInfo);
        // 当动态添加节点完成之后再给其中的按钮绑定事件
        $('.remove').click(function(){
            alert('这是删除按钮!');
          });
      },
      error:function (err) {
           alert(err);
        }
    });
  }
}

 将绑定事件的代码改到ajax内部,这样让动态添加完成之后再给其中的按钮绑定事件,就可以达到我们所需要的效果了,这便是ajax的异步机制

以上所述是小编给大家介绍的JQuery Ajax 异步操作之动态添加节点功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# jquery  # ajax  # 异步操作  # 动态添加节点  # jquery 添加节点的几种方法介绍  # JQuery给元素添加/删除节点比如select  # Jquery动态添加及删除页面节点元素示例代码  # jquery 删除节点 添加节点 找兄弟节点的简单实现  # JQuery给select添加/删除节点的实现代码  # jQuery循环遍历子节点并获取值的方法  # JQuery遍历DOM节点的方法  # JQuery中节点遍历方法实例  # Jquery遍历节点的方法小集  # Jquery节点遍历next与nextAll方法使用示例  # jQuery实现动态添加节点与遍历节点功能示例  # 这是  # 绑定  # 可供  # 小编  # 再给  # 在此  # 你在  # 这个问题  # 等着  # 给大家  # 弹出  # 这便是  # 就可  # 当我们  # 很明显  # 往下  # 所需要  # 所述  # 给我留言  # 出在 


相关文章: 如何解决VPS建站LNMP环境配置常见问题?  如何通过多用户协作模板快速搭建高效企业网站?  如何快速选择适合个人网站的云服务器配置?  Python如何创建带属性的XML节点  如何确认建站备案号应放置的具体位置?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何在阿里云ECS服务器部署织梦CMS网站?  如何通过虚拟主机快速搭建个人网站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  建站之星备案流程有哪些注意事项?  常州企业网站制作公司,全国继续教育网怎么登录?  如何通过虚拟主机快速完成网站搭建?  Swift中switch语句区间和元组模式匹配  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  建站之星下载版如何获取与安装?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  如何快速搭建高效可靠的建站解决方案?  如何高效配置香港服务器实现快速建站?  建站之星如何助力企业快速打造五合一网站?  代刷网站制作软件,别人代刷火车票靠谱吗?  历史网站制作软件,华为如何找回被删除的网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  定制建站流程解析:需求评估与SEO优化功能开发指南  郑州企业网站制作公司,郑州招聘网站有哪些?  如何通过VPS搭建网站快速盈利?  建站之星如何修改网站生成路径?  如何通过万网虚拟主机快速搭建网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  简单实现Android文件上传  如何在云指建站中生成FTP站点?  如何有效防御Web建站篡改攻击?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何用虚拟主机快速搭建网站?详细步骤解析  在线制作视频的网站有哪些,电脑如何制作视频短片?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  定制建站是什么?如何实现个性化需求?  如何使用Golang安装API文档生成工具_快速生成接口文档  寿县云建站:智能SEO优化与多行业模板快速上线指南  建站之星如何通过成品分离优化网站效率?  深圳网站制作案例,网页的相关名词有哪些?  孙琪峥织梦建站教程如何优化数据库安全?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  图册素材网站设计制作软件,图册的导出方式有几种?  如何通过可视化优化提升建站效果?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  建站主机选哪家性价比最高?  建站之星后台密码遗忘如何找回? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。