appendChild(Node)这个方法一般是在指定元素节点的最后一个子节点之后添加节点,但如果Node是页面中的DOM对象,那么就不是添加节点了,就是直接Move节点。

① 创建原来没有的节点

<body><ul><li>苹果</li><li>香蕉</li><li>橘子</li></ul>
</body>
<script>window.onload = function(){//定义一个快捷方式function $(name){return document.getElementsByTagName(name);}//创建一个新的节点var li = document.createElement("li");li.innerHTML="柚子";$('ul')[0].appendChild(li);}
</script>       

得到的结果:

        

② 添加的节点是页面中原有的DOM对象

<body><ul><li>苹果</li><li>香蕉</li><li>橘子</li></ul>
</body>
<script>window.onload = function(){//定义一个快捷方式function $(name){return document.getElementsByTagName(name);}//创建一个新的节点var li = $('ul')[0].children[0];$('ul')[0].appendChild(li);}
</script>

  得到的结果:

如果要添加的节点是网页中的DOM对象,这时直接用appendChild()方法会移动NODE节点,因此解决这种问题的办法是

1.先使用cloneNode();克隆一下节点

2.之后使用appendChild();

下面的代码是博主做的一个简易的显示界面,点击左边的小图标右边会显示大图。写这段代码的时候就遇到这个问题,因此把这个问题写下来希望自己下次能够细心一点也希望能帮助到有需要的人。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>图片显示</title><style>ul{list-style: none;padding: 0;margin: 0;}.left{float: left;margin-left: 50px;margin-top: 20px;}.left img{width: 200px;}.show{float: left;border: 1px solid #ccc;width: 600px;height: 400px;margin-left: 70px;margin-top: 185px;}</style>
</head>
<body><div class="wrap"><div class="left"><ul><li><img src="data:image/1.jpg" alt="图片1"></li><li><img src="data:image/2.jpg" alt="图片2"></li><li><img src="data:image/3.jpg" alt="图片3"></li><li><img src="data:image/4.jpg" alt="图片4"></li><li><img src="data:image/5.jpg" alt="图片5"></li></ul></div><div class="show"></div></div>
</body>
<script>window.onload = function(){function $(name){return document.getElementsByClassName(name)[0];}var uls = $('left').children;var lis = uls[0].children;var length = lis.length;var show  = $('show');var ul = document.createElement('ul');show.append(ul);var sul = show.children;sul[0].className = 'sul';for(var i=0;i<length;i++){lis[i].onclick = function(){$('sul').innerHTML = '';var that = this.cloneNode(true);$('sul').append(that);}}}
</script>
</html>

js中appendChild()方法相关推荐

  1. JS中toFixed()方法的问题及解决方案

    JS中toFixed()方法的问题及解决方案 参考文章: (1)JS中toFixed()方法的问题及解决方案 (2)https://www.cnblogs.com/gushen/archive/201 ...

  2. js中toFixed方法的两个坑

    js中toFixed方法的两个坑 toFixed返回结果是string,后续使用它计算会错误 toFixed返回结果可能出现负零-0.00 toFixed返回结果是string,后续使用它计算会错误 ...

  3. Js中fetch方法

    Js中fetch方法 fetch()方法定义在Window对象以及WorkerGlobalScope对象上,用于发起获取资源的请求,其返回一个Promise对象,这个Promise对象会在请求响应后被 ...

  4. created写法_vue.js中created方法作用

    这是它的一个生命周期钩子函数,就是一个vue实例被生成后调用这个函数.一个vue实例被生成后还要绑定到某个html元素上,之后还要进行编译,然后再插入到document中.每一个阶段都会有一个钩子函数 ...

  5. 【转载】JS中bind方法与函数柯里化

    原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...

  6. 前端开发:JS中join()方法的使用总结

    前言 在前端开发过程中,对数组的数据进行处理也是比较常见的操作之一,而且对数组进行操作的频率远远大于对 对象进行操作,因此在开发过程中对于数组里面的数据进行处理是一项比较重要的技能,尤其是对于刚入行的 ...

  7. vue在created调用点击方法_vue.js中created方法的使用详解

    这次给大家带来vue.js中created方法的使用详解,使用vue.js中created方法的注意事项有哪些,下面就是实战案例,一起来看一下. 这是它的一个生命周期钩子函数,就是一个vue实例被生成 ...

  8. js中eval方法的使用

    2.js中eval方法的使用 eval可以执行传入的字符串,比如:eval("console.log('eval test!')"),控制台直接会输出"eval test ...

  9. JS中sort方法排序

    JS中sort方法排序 一.数字排序(string类型) 二.数字排序(string类型和number类型) 三.混合排序(string.number和字母) 四.函数排序 五.数组对象排序 一.数字 ...

最新文章

  1. 平衡二叉树-splay c/c++代码实现
  2. ylbtech-LanguageSamples-Generics(泛型)
  3. 用单链表实现栈及操作
  4. MySQL索引如何优化?二十条铁则送你!!!
  5. python提取图片gps坐标_用python从.docx文件中提取GPS坐标
  6. 客户端是选择Java Swing还是C# Winform
  7. mysql 跨服务器 etl_mysql数据库跨服务器查询【需要确定mysql支持FEDERATED ,可以参照文章内容自己配置】...
  8. 了解SQL Server数据管理生命周期
  9. sql server 事务的回滚 断电
  10. 二维码_encode与decode
  11. 前端笔记 | CSS进阶
  12. 错误解决办法:_ZNSaIcED1Ev@@GLIBCXX_3.4
  13. 【系统分析师之路】2012年上系统分析师下午论文真题
  14. @Formula的使用
  15. [18调剂]天津大学软件学院软件工程(专业学位)全日制及非全日制研究生接收院内校内校外调剂...
  16. 曾国藩戒烟——人但有恒,事物不成
  17. cjson解析器说明
  18. 计算机网络在广播电视工程中的应用,关于计算机在广播电视工程中的应用要点...
  19. 【供参考,博主已经没有实验环境了】【中山大学东校区】【中大】【tp-link wr703n】【openwrt】【校园网inode】【无线路由】新版教程-搭载最小的认证客户端【C版oh3c】
  20. 华为云-容器引擎CCE-基本概念

热门文章

  1. FXCM福汇官网 fx-aisa.com外汇交易中,你必须了解的八种主流货币知识
  2. 用css编写一个简单的旋转魔方
  3. long(Long)与int(Integer)四种类型之间互相转换的方法分享
  4. Java 12 来了,我们应该采用嘛?
  5. 如何评价《就算老公一毛钱股份都没拿到,在我心里,他依然是最牛逼的创业者》里面这位CEO的所作所为?
  6. WWW 2020|基于人才流动表征的企业竞争力分析
  7. windows下一步一步安装curses
  8. Python中pprint与print的区别
  9. 基于C++的AGV机器人无线控制实现
  10. 转战物联网·基础篇12-了解物联网之物连接相关通信技术(1)