聊聊关于动态增加元素可能出现的问题
动态添加元素主要用于交互的时候获取到的数据,将获取到的数据显示出来,这时候需要动态增加了
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:其实第一种和第二种是一样的,但是第二种的代码写起来之后维护比较方便。