课程
/前端开发
/jQuery
/jQuery基础(二)—DOM篇
元素数据(data)内对象和数组不会被复制,将继续被克隆元素和原始元素共享。深复制的所有数据,需要手动复制每一个
这是什么意思?
2016-07-28
源自:jQuery基础(二)—DOM篇 5-1
正在回答
请问下,就楼主的问题,怎么手动复制每一个?既然说手动,有没有手动的代码怎么写?
下面的这个代码为例:
<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?
wanwan5856
694473412 回复 wanwan5856
694473412 回复 694473412
wanwan5856 回复 694473412
举报
jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换
3 回答元素数据(data)内对象和数组不会被复制,将继续被克隆元素和原始元素共享。深复制的所有数据,需要手动复制每一个
4 回答关于深复制和浅复制问题:元素数据内对象和数组不会被复制
1 回答parents()方法会查每一个元素的所有祖辈元素?
1 回答复制一个” <p>p元素</p>“到h2下面,怎么不会被包裹起来?
1 回答remove()会删除元素相关的jQuery数据 那么原生js的数据会被删除吗?