第10章 DOM (五)
来源:互联网 发布:小米笔记本12.5编程 编辑:程序博客网 时间:2024/05/30 23:04
10.1.7 DocumentType 类型
DocumentType 类型在 Web 浏览器中并不常用,仅有 Firefox、Safari 和 Opera 支持它。DocumentType 包含着与文档的 doctype 有关的所有信息,它具有下列特征:
- nodeType 的值为 10;
- nodeName 的值为 doctype 的名称;
- nodeValue 的值为 null;
- parentNode 是 Document;
- 不支持 (没有) 子节点。
10.1.8 DocumentFragment 类型
- nodeType 的值为 11;
- nodeName 的值为 "#document-fragment";
- nodeValue 的值为 null;
- parentNode 的值为 null;
- 子节点可以是 Element、ProcessingInstruction、Comment、Text、CDATASection 或 EntityReference 。
<ul id="myList"></ul>
假设我们想为这个 <ul> 元素添加3个列表项。如果逐个地添加列表项,将会导致浏览器反复渲染 (呈现) 新信息。为避免这个问题,可以像下面这样使用一个文档片段来保存创建的列表项,然后再一次性将它们添加到文档中:
var fragment = document.createDocumentFragment();
var ul = document.getElementById("myList");
var li = null;
for (var i=0; i<3; i++) {
li = document.createElement("li");
li.appendChild(document.createTextNode("Item " + (i + 1)));
fragment.appendChild(li);
}
ul.appendChild(fragment);
在这个例子中,我们先创建一个文档片段并取得了对 <ul> 元素的引用。然后,通过 for 循环创建3个列表项,并通过文本表示它们的顺序。为此,需要分别创建 <li> 元素、创建文本节点,再把文本节点添加到 <li> 元素。接着使用 appendChild() 将 <li> 元素添加到文档片段中。循环结束后,再调用 appendChild() 并传入文档片段,将所有列表项添加到 <ul> 元素中。此时,文档片段的所有子节点都被删除并转移到了 <ul> 元素中。
10.1.9 Attr 类型
元素的特性在 DOM 中以 Attr 类型来表示。在所有浏览器中 (包括 IE8) ,都可以访问 Attr 类型的构造函数和原型。从技术角度讲,特性就是存在于元素的 attrbutes 属性中的节点。特性节点具有下列特征:
- nodeType 的值为 11;
- nodeName 的值是特性的名称;
- nodeValue 的值是特性的值;
- parentNode 的值为 null;
- 在 HTML 中不支持 (没有)子节点;
- 在 XML 中子节点可以是 Text 或 EntityReference 。
- 第10章 DOM (五)
- 第10章 DOM (一)
- 第10章 DOM (二)
- 第10章 DOM (三)
- 第10章 DOM (四)
- 第10章 DOM (六)
- 第10章 DOM (七)
- 第10章 DOM小结
- javascript 高级程序设计 第10章 Dom
- 第6章 DOM基础
- 第 3 章 DOM 操作
- 第 5 章 操作 DOM
- 第2章DOM概述
- 第4章DOM详解
- 第5章 DOM详解
- javascript高级程序设计 第10章 DOM 节点层次 Node
- DOM学习(JavaScript高级程序设计 第10章)
- 红宝书 第10章整理——DOM
- VC小技巧20个
- android完美退出程序(创建单例管理所有打开的activity)
- 正则表达式使用
- HTTPS Everywhere Rulesets (zz)
- 数据结构——基本数据结构之栈
- 第10章 DOM (五)
- 数据结构——基本数据结构之队列
- 《C#异常处理》
- 数据结构——基本数据结构之链表
- 第10章 DOM (六)
- Linux小知识点
- IOS Table中Cell的重用reuse机制分析
- 关于adbd进程的ROOT权限问题
- AVI 动画转成 FLV 格式