元素数据(data)内对象和数组不会被复制,将继续被克隆元素和原始元素共享。深复制的所有数据,需要手动复制每一个

来源:5-1 DOM拷贝clone()

Sunshine3721995

2016-07-28 16:08

元素数据(data)内对象和数组不会被复制,将继续被克隆元素和原始元素共享。深复制的所有数据,需要手动复制每一个


这是什么意思?



写回答 关注

2回答

  • 慕虎0938118
    2019-07-22 09:32:35

    请问下,就楼主的问题,怎么手动复制每一个?既然说手动,有没有手动的代码怎么写?

    下面的这个代码为例:

    <div class='div'>慕课网</div>

    $('.div').data('name','imooc');

    上面的代码就是给div添加数据data。当你直接使用clone()时,div的data数据是不会被复制的。

    var divcopy=$('.div').clone();

    console.log(divcopy.name);//返回的是undefined;


  • YGJ
    2016-07-28 17:21:50

    <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?

    wanwan... 回复694473...

    谢谢。

    2016-08-01 18:39:42

    共 4 条回复 >

jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114014 学习 · 590 问题

查看课程

相似问题