Fork me on GitHub

聊聊关于动态增加元素可能出现的问题

动态添加元素主要用于交互的时候获取到的数据,将获取到的数据显示出来,这时候需要动态增加了

1怎样动态增加元素 注意:我这个是利用模板渲染数据的 每个人使用的技术不一样 但是思路是一样的

$.ajax({
   url:'xxx',
   type:'post',
   data:'',
   dataType:json,
   success:function(result){
     //先是看看获取到的数据是什么样子的
     console.log(result);
     //循环里面的数据
     for(var i=0;i<result.rows.length;i++){
          var $e=_this.template({
                   data:result.rows[i]
           })
           //然后循环将每一个数据渲染到模板中之后,将每一个模板追加到制定的元素内
           _this.$(".content").append($e);
     }
  }  
})

2将数据渲染完成之后,如果在其中的某一个中添加事件

因为现在咱们用的是追加的元素,所以不能用正常的直接给这个元素添加一个时间(比如click);

我们可以用on来给元素添加一个事件(注意:jquery1.8之前用live)

$("div").on("事件名字",“需要绑定的元素”,执行的函数);

3有的事件需要获取到追加完的元素的属性值之类的,这样我们就需要等待ajax执行完成之后获取

一种方法还可以直接在success成功之后执行之后的操作;

另一种是可以采用回调函数,当他执行完成之后,在调用回调函数;

ps:其实第一种和第二种是一样的,但是第二种的代码写起来之后维护比较方便。

 

posted @ 2016-12-01 10:16  zhang_yx  阅读(187)  评论(0编辑  收藏  举报