jq clone 克隆方法偶遇问题

jq clone 复制时候出现重复数据问题
今天在处理一个列表页面的时候,遇到了需要clone来解决的问题,当完成代码后,测试,发现有个奇葩问题,对同一列数据连续做clone处理时,数据成倍的被复制,百思不得其解,经过反复调试,终于找到了原因。

图中:
点击 dom 1 ,弹出克隆的数据。当点击dom 2 时,发现被克隆的数据变成两倍了,于是去点击更多的dom,发现数据是成倍增长的。
console.log(clones);输出克隆的数据,发现确实越来越多。
百度上搜资料发现没有这方面的问题,于是反复找原因,最后在输出了被克隆的原数据时,发现从第一次克隆开始,原始数据就已经变成了两倍!

于是想到了用dom[1].remove()方法,每次克隆都删掉一个复制体来解决问题。然而并不是那么顺利,数据没有再成倍增长,而是彻底无法克隆了!原始数据被删除了~

经过调试输出发现,原因是:clone()方法克隆的数据是从原始数据开始部位(数据头部、入栈)一条数据的。所以,要删除它,要用dom[0].remove();实现移除克隆数据。

生命不息,编程不止.............

posted @ 2018-01-16 16:45  小酱油  阅读(301)  评论(0编辑  收藏  举报