Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 188|回复: 0

[默认分类] 学习一下DOM中的cloneNode()与cloneNode(true)的基础知识

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-4-27 14:20:39 | 显示全部楼层 |阅读模式
    带你去熟悉HTML dom中当然cloneNode()与cloneNode(true)之间区别
    code

    1. [/code]
    2.   
    3.   [code]<!DOCTYPE html>
    4. <html>
    5.    <head>
    6.           <meta charset="UTF-8"/>
    7.           <meta name="Authar" content="木人子韦一日尘" />
    8.           <title>cloneNode()与cloneNode(true)的区别</title>
    9.           <style>
    10.           .divClones>div{
    11.             float:left;
    12.           }
    13.           </style>
    14.    </head>
    15.    <body>
    16.        <div>
    17.            <div style="background-color:green;width:200px;height:200px;text-align:center;line-height:200px;">我才是真的绿色</div>
    18.        </div>
    19.       
    20.        <div class="divClones"></div>
    21.        <script>
    22.            //获取克隆的对象‘我才是真的绿色’
    23.            var getCloneDiv=document.querySelector("body>div>div:nth-child(1)");
    24.                //用addEventListener给真的节点添加事件
    25.            getCloneDiv.addEventListener("click",function(){
    26.                alert("我是你妈,我创造了你");
    27.            });
    28.        </script>
    29.    </body>
    30. </html>
    复制代码

      
       

      创建了一个200*200尺寸的绿色背景框,添加了onclick事件,而且我们有必要看一下输入真的节点
      
    开始看看cloneNode()与cloneNode(true)各自的区别
       

    1. 1 <!DOCTYPE html>
    2. 2 <html>
    3. 3    <head>
    4. 4           <meta charset="UTF-8"/>
    5. 5           <meta name="Authar" content="木人子韦一日尘" />
    6. 6           <title>cloneNode()与cloneNode(true)的区别</title>
    7. 7           <style>
    8. 8           .divClones>div{
    9. 9             float:left;
    10. 10           }
    11. 11           </style>
    12. 12    </head>
    13. 13    <body>
    14. 14        <div>
    15. 15            <div style="background-color:green;width:200px;height:200px;text-align:center;line-height:200px;">我才是真的绿色</div>
    16. 16        </div>
    17. 17        <div>
    18. 18           <button onclick="cloneDiv()">cloneNode()</button>
    19. 19           <button onclick="cloneTrueDiv()">cloneNode(true)</button>
    20. 20        </div>
    21. 21        <div class="divClones"></div>
    22. 22        <script>
    23. 23            //获取克隆的对象‘我才是真的绿色’
    24. 24            var getCloneDiv=document.querySelector("body>div>div:nth-child(1)");
    25. 25            getCloneDiv.addEventListener("click",function(){
    26. 26                alert("我是你妈,我创造了你");
    27. 27            });
    28. 28            function cloneDiv(){
    29. 29                var clo=getCloneDiv.cloneNode();//用cloneNode()克隆
    30. 30                console.log(clo);
    31. 31                document.querySelector(".divClones").appendChild(clo);//把cloneNode()克隆的节点添加在class为divClones节点中
    32. 32            }
    33. 33            function cloneTrueDiv(){
    34. 34                var clo=getCloneDiv.cloneNode(true);//用cloneNode(true)克隆
    35. 35                console.log(clo);
    36. 36                document.querySelector(".divClones").appendChild(clo);//把cloneNode(true)克隆的节点添加在class为divClones节点中
    37. 37            }
    38. 38        </script>
    39. 39    </body>
    40. 40 </html>
    复制代码


      
      brower
      
      
    点击cloneNode(),从下图看出,点击克隆节点无事件发生,且没有‘’‘我才是真的绿色’的文字,克隆的节点复制真节点的样式,标签,属性。至于标签里的元素,事件没有复制,所以我们可以称它浅克隆。

      
      点击cloneNode(true),图片可以猜出来,完全把真节点的东西给复制了过来,我们称它为深克隆,这难得是事件的问题,暂时不讨论。

       
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-17 06:33 , Processed in 0.386417 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表