一、在创建元素的时候为什么要把创建元素到也页面写到后面?
 
要求:创建一个div,在div中创建10个span.

var div = document.createElement("div");
//document.body.appendChild(div); for(var i=0;i<10;i++){
var span = document.creatElement("span");
div.appendChild(span);
}
document.body.appendChild(div);
原因是如果写在前面就创建一个span 就要打开一次body,div写入,这样的效率太慢啦。但是如果先讲span 在内存中直接写入,这样就打开2次,这样一次行就节省了很多的效率。
先创建一个容器,将子元素,放到父容器中,最后讲父容器放到页面中。
 
如果一定要写入到body页面中。就用碎片容器。
//创建碎片容器:
var elem = document.createDocumentFragment();
for(var i =0;i<10;i++){
var div = document.creatElement("div");
}
document.body.appendChile(elem);

二、删除元素三部曲

//元素删除的时候应该先删除事件,在删除元素。因为纯粹的删除的元素只是从Dom书中删除,并没有删除内容。删除元素的步骤:
第一步:删除事件
 
第二步:删除元素
 
第三步:将元素设为null
var div = document.createElement("div");
var span = document.createElement("span");
span.addEventListener("click",clickHandler); div.appendChild(span);
document.body.appendChild(div);
function clickHandler(e){
span.textContent="欢迎";
}
//删除之前的将事件删除
span.removeEventListener("click",clickHandler);
//使用onclick事件的时候,删除方法删除事件
//span.onclick=null //删除元素
div.removeChild(span);
span=null; div.appendChild(span);
//此时的span不再是节点,是null,再添加的时候就会报错
三、替换元素:
父容器.removeChild(新元素,要替换掉的旧元素)

 四、复制元素:

源元素.cloneNode(deep)
deep 是深度的意思;
true:时是深度赋值,将子元素和内容一起赋值,源元素的属性复制
false: 是潜复制,将源元素和属性复制
注意:
如果使用 cloneNode 复制元素的时候,必须修改元素的 id .

  

 

 

 

最新文章

  1. redis/php redis扩展 安装
  2. 网页提示[Not allowed to load local resource: file://XXXX]错误
  3. iphone6 帶回家”活動!
  4. Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件
  5. JQuery增删改查
  6. 【性能诊断】四、单功能场景的性能分析(RedGate,找到同一个客户端的并发请求被串行化问题)
  7. 使用UI Automation实现自动化测试 --微软提供的控件Pattern
  8. Android开发之动画(转)
  9. STM32 IAP 在线更新程序 为什么有时行 有时又不行 感觉不可靠 问题解决
  10. Selenium 前期学习
  11. E - Currency Exchange
  12. List容器
  13. 联想S720/S720i通刷刷机包 Vibe V1.0
  14. java表达式陷阱
  15. .NET Framework 各版本区别
  16. java.lang.ClassNotFoundException: [Ljava.lang.String解决办法
  17. Python作用域
  18. 掌握SQLServer锁的相关概念
  19. Redux 学习(1) ----- Redux介绍
  20. ElasticSearch6.5.0【Java客户端之TransportClient】

热门文章

  1. Map集合(双列集合)
  2. 基于AHB总线的master读写设计(Verilog)
  3. Springboot 系列(十四)迅速启用 HTTPS 加密你的网站
  4. mysql 延时注入新思路
  5. [NOIp2014] luogu P2296 寻找道路
  6. Hash Table Implementation in C++
  7. 存储过程导出数据到csv
  8. postman设置环境变量与全局变量
  9. Hive On HBase实战
  10. ESP8266开发之旅 网络篇⑮ DNSServer——真正的域名服务