(89)Wangdao.com第二十二天_JavaScript DocumentFragment 节点
DocumentFragment 节点
代表一个文档的片段,本身就是一个完整的 DOM 树形结构。
它没有父节点,.parentNode 返回 null
可以插入任意数量的子节点。
不属于当前文档,操作 DocumentFragment 节点,要比直接操作 DOM 树快得多
一般用于构建一个 DOM 结构,然后插入当前文档
- 创建一个空的 DocumentFragment 节点
var docFrag = document.createDocumentFragment();
// 等同于
var docFrag = new DocumentFragment();
- 然后再使用其他 DOM 方法,向其添加子节点
var li = document.createElement('li');
li.textContent = 'Hello World';
docFrag.appendChild(li);
- 最后插入当前文档
document.querySelector('ul').appendChild(docFrag);
- 注意:DocumentFragment 节点本身不能被插入当前文档
- 当它作为 appendChild()、insertBefore()、replaceChild() 等方法的参数时
- 是它的所有子节点插入当前文档,而不是它自身
- 一旦 DocumentFragment 节点被添加进当前文档,它自身就变成了空节点(textContent属性为空字符串),可以被再次使用。
- 当它作为 appendChild()、insertBefore()、replaceChild() 等方法的参数时
- 注意:DocumentFragment 节点本身不能被插入当前文档
- 如果想要保存 DocumentFragment 节点的内容,可以使用 cloneNode 方法
document.queryselector('ul').appendChild(docFrag.cloneNode(true));
- 如果想要保存 DocumentFragment 节点的内容,可以使用 cloneNode 方法
- 实例
// 反转一个指定节点的所有子节点的顺序
function reverse(ele) {
var docFrag = document.createDocumentFragment(); while(ele.lastChild){
docFrag.appendChild(ele.lastChild);
}
ele.appendChild(docFrag);
}
- 实例
(89)Wangdao.com第二十二天_JavaScript DocumentFragment 节点的更多相关文章
- (89)Wangdao.com第二十二天_JavaScript 属性
属性 属性本身是一个对象(Attr 对象) Element.attributes 返回一个类似数组的动态对象,成员是该元素标签的所有属性节点对象 属性的实时变化都会反映在这个节点对象上. 其他类型的 ...
- (87)Wangdao.com第二十天_JavaScript document 节点对象
document 节点对象, 代表整个文档,每张网页都有自己的 document 对象. window.document 当浏览器开始加载文档时就存在了 正常的网页使用 document 或者 win ...
- (73)Wangdao.com第十二天_JavaScript consol 对象与控制台
consol 对象 console对象是 JavaScript 的原生对象 它有点像 Unix 系统的标准输出stdout和标准错误stderr, 可以输出各种信息到控制台,并且还提供了很多有用的辅助 ...
- (88)Wangdao.com第二十一天_JavaScript 元素节点Element 节点
Element 节点 (元素节点) 是一组对象 对应网页的 HTML 元素 每一个 HTML 元素,在 DOM 树上都会转化成一个 Element 节点对象(以下简称元素节点) 所有元素节点的 nod ...
- (72)Wangdao.com第十二天_JavaScript 错误处理机制
1. Error 实例对象 JavaScript 解析或运行时,一旦发生错误,引擎就会抛出一个错误对象. JavaScript 原生提供Error构造函数,所有抛出的错误都是这个构造函数的实例. va ...
- (84)Wangdao.com第十八天_JavaScript 文档对象模型 DOM
文档对象模型 DOM DOM 是 JavaScript 操作网页的接口, 全称为“文档对象模型”(Document Object Model). 作用是将网页转为一个 JavaScript 对象,从而 ...
- javaSE第二十二天
第二十二天 312 1:登录注册IO版本案例(掌握) 312 2:数据操作流(操作基本类型数据的流)(理解) 313 (1)定义: 313 (2)流对象名称 313 (3 ...
- Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块
Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块 stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义,根据 ...
- 孤荷凌寒自学python第二十二天python类的继承
孤荷凌寒自学python第二十二天python类的继承 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) python中定义的类可以继承自其它类,所谓继承的概念,我的理解 是,就是一个类B继承自 ...
随机推荐
- Beamer制作索引
\documentclass{beamer} \usepackage{multicol} \usepackage{makeidx} \newenvironment{theindex}{% \let\i ...
- [物理学与PDEs]第1章第2节 预备知识 2.2 Ampere-Biot-Savart 定律, 静磁场的散度与旋度
1. 电流密度, 电荷守恒定律 (1) 电荷的定向移动形成电流. (2) 电流密度 ${\bf j}$, 是描述导体内一点在某一时刻电流流动情况的物理量, 用单位时间内通过垂直于电流方向的单位面积的电 ...
- Java中多态性的实现
class A ...{ public String show(D obj)...{ return ("A and D"); } public String show(A obj) ...
- Coursera, Big Data 3, Integration and Processing (week 5)
Week 5, Big Data Analytics using Spark Programing in Spark Spark Core: Programming in Spark us ...
- MySql常见约束
含义:一种限制,用于限制表中的数据,为了保证表中数据的准确性和可靠性. 分类:六大约束 1.NOT NULL :非空,用于保证该字段的值不能为空.例如学生表的学生姓名及学号等等. 2.DEFAULT: ...
- PHP 【一】
输出 [输出在表格中] <!DOCTYPE html> <html> <body> <h1>My first PHP page</h1> ...
- C++设计模式——适配器模式
生活中的适配器 买笔记本电脑,买手机时,都有一个电源适配器,电源适配器又叫外置电源,是小型便携式电子设备及电子电器的供电电压变换设备,常见于手机,笔记本电脑上.它的作用是将家里的220V高电压转换成这 ...
- selenium——键盘操作
很多键盘操作实际是没有意义的.
- 【easy】202. Happy Number
happy number Write an algorithm to determine if a number is "happy". A happy number is a n ...
- GIt -- Window下配置 git
全局配置 git config --global user.name "账户名" git config --global use r.email '账户邮箱' 生成ssh,命令 ...