㈠添加元素的步骤

⑴创建空元素

⑵设置关键属性

⑶将元素添加到DOM树

 

㈡创建空元素

var elem = document.createElement('table');

 

示例:

var table = document.createElement('table');
var tr = document.createElement('tr');
var td = document.createElement('td');
var td = document.createElement('td'); console.log(table);

 

㈢设置关键属性

a.innerHTML = "go to tmooc"

a.herf = "http://tmooc.cn";

<a href = "http://tmooc.cn">go to tmooc</a>

 

㈣设置关键样式

a.style.opacity = "1";

a.style.csssText = "width:100px;height:100px";

 

㈤将元素添加到DOM树

第一种方法:
parentNode.appendChild(childNode)

可用于将为一个父元素追加最后一个子节点

 

示例:

var div = document.createElement('div');
var txt = document.createTextNode('版权声明'); div.appendChild(txt);
document.body.appendChild(div);

 

第二种方法:
parentNode.insertBefore(newChild,existingChild)

用于在父元素中的指定子节点之前添加一个新的子节点

 

示例:

<ul id = "menu">
<li>首页</li>
<li>联系我们</li>
</ul> var ul = document.getElementById('menu');
var newLi = document.createElement('li'); ul.inserBefore(newLi,ul.lastChild);

 

㈥添加元素优化

①尽量少的操作DOM树

①为什么?

每次修改DOM树,都导致重新layout

⑴如果同时创建父元素和子元素时,建议在内存条中先将子元素添加到父元素,再将父元素一次性挂到页面

⑵如果只添加多个平级子元素时,就要将所有子元素,临时添加到文档片段中。再将文档片段整体添加到页面

 

②文档片段中:内存中,临时保存多个子元素的虚拟父元素。用法和普通父元素完全一样

如何?

⑴创建片段

var frag = document.createDocumentFragment();

 

⑵将子元素临时追加到frag中

frag.appendChild(child);

 

⑶将frag追加到页面 

parent.appendChild(frag);

 

 强调:append之后,frag自动释放,不会占用元素

最新文章

  1. CentOS 6.4 下安装vsftpd
  2. 经纬度距离计算Java实现代码
  3. jqueryEasyUI:tabs扩展:给tabs组件绑定双击事件 分类: JqueryEasyUI 2014-09-29 14:36 537人阅读 评论(0) 收藏
  4. Contractive Auto-Encoder
  5. /run/systemd/private: No such file or directory
  6. iOS webView的一些基本用法
  7. 监视/etc/passwd文件是否正常
  8. Building Local Unit Tests
  9. NetAnalyzer笔记 之 三. 用C++做一个抓包程序
  10. Effective C++:条款28:避免返回 handles 指向对象内部成员
  11. 个人实现的一个简单的蜗牛矩阵(c语言)
  12. CSS的基本概念
  13. solr home 目录设置
  14. thinkphp3.2.2邮箱发送
  15. 浅析数据结构中栈与C实现
  16. com.android.support:appcompat-v7:27.+问题解决
  17. java集合继承关系图
  18. nmon 加权平均法
  19. facebook api call——error
  20. paramiko 实现ssh登录和sftp登录

热门文章

  1. AI 资源帖
  2. 合并两个排序的链表递归和非递归C++实现
  3. python中进程的几种创建方式
  4. idea 设置自动生成注释
  5. redis 学习(1)-- redis 安装与启动
  6. leecode刷题(30)-- 二叉树的后序遍历
  7. O022、如何使用 OpenStack CLI
  8. feign 多参数问题
  9. linux下NVIDIA GPU驱动安装最简方式
  10. npm install 报错,提示`gyp ERR! stack Error: EACCES: permission denied` 解决方法