元素数据(data)内对象和数组不会被复制,将继续被克隆元素和原始元素共享。深复制的所有数据,需要手动复制每一个
这是什么意思?
请问下,就楼主的问题,怎么手动复制每一个?既然说手动,有没有手动的代码怎么写?
下面的这个代码为例:
<div class='div'>慕课网</div>
$('.div').data('name','imooc');
上面的代码就是给div添加数据data。当你直接使用clone()时,div的data数据是不会被复制的。
var divcopy=$('.div').clone();
console.log(divcopy.name);//返回的是undefined;
<div class='div'>慕课网</div>
$('.div').data('name','imooc');
上面的代码就是给div添加数据data。当你直接使用clone()时,div的data数据是不会被复制的。
var divcopy=$('.div').clone();
console.log(divcopy.name);//返回的是undefined;
只有使用clone(true)时;div中的data数据才会被复制。
简单理解就是clone(true)复制的所有数据,无法使用clone()获取,需要手动添加进去。
understand?