《JS高程(3)》DOM节点层次DocumentType类型-第10章笔记(16)
2017-02-06 15:16
281 查看
DocumentType类型
DocumentType类型在Web浏览器中并不常用,仅有Firefox、Safari、Opera、Chrome4.0支持它。DocumentType包含着与文档的doctype有关的所有信息,特征:
- | - |
---|---|
nodeType的值: | 10 |
nodeName的值: | doctype |
nodeValue的值: | null |
parentNode为: | Document |
子节点 | 无 |
name:表示文档的名称;
entities :文档类型描述的实体的NameNodeMap对象;
notations:文档类型描述的符号的NameNodeMap对象。
通常,浏览器中的文档使用的都是HTML或XHTML文档类型,因而entities和notation都是空列表。
<!DICTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd"> DocumentType的name属性中保存的就是"HTML": alert(document.doctype.name); //'HTML'
DocumentFragment类型
在所有节点类型中,只有DocumentFragment在文档中没有对应的标记。DOM规定文档片段(document fragment)是一种“轻量级”的文档,可以包含和控制节点,但不会像完整的文档那样占用额外的资源。特征:
- | - |
---|---|
nodeType的值: | 11 |
nodeName的值: | “#document fragment” |
nodeValue的值: | null |
parentNode的值: | null |
子节点 | Element、ProcessingInstruction、Comment、Text、CDATASection、EntityReference |
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>元素中。
Attr类型
元素的特性在DOM中以Attr类型来表示。在所有浏览器中,都可访问Attr类型的构造函数和原型。
从技术角度讲,特性就是存在于元素的attributes属性中的节点。
特性节点特征:
- | - |
---|---|
nodeType的值: | 11 |
nodeName的值: | 特性的名称 |
nodeValue的值: | 特性的值 |
parentNode的值: | null |
html中的子节点 | 无 |
xml中的子节点 | Text、EntityReference |
Attr对象有3个属性:name、value和specified.
name : 特性名称(与nodeName的值相同);
value:特性的值(与nodeValue的值相同);
specified:布尔值,用以区别特性是在代码中指定的,还是默认的。
document.createAttribute()并传入特性的名称可以创建新的特性节点。
例:为元素添加align特性
var attr = document.createAttribute("align"); attr.value = "left"; element.setAttributeNode(attr); alert(element.attributes("align").value); //"left" alert(element.getAttributeNode("align").value); //"left" alert(element.getAttribute("align")); //"left"
相关文章推荐
- 《JS高程(3)》DOM节点层次Document类型-第10章笔记(12)
- 《JS高程(3)》DOM节点层次Node类型-第10章笔记(11)
- 《JS高程(3)》DOM节点层次CDATASection类型-第10章笔记(15)
- 《JS高程(3)》DOM节点层次Text类型-第10章笔记(14)
- 《JS高程(3)》DOM节点层次Comment类型-第10章笔记(15)
- JavaScript高级程序设计之DOM之节点层次之DocumentType类型第10.1.7讲
- js中迭代元素特性与DOM中的DocumentFragment类型 笔记
- JS高程3:DOM-节点层次
- js学习笔记:DOM——节点层次
- 第十章:DOM(节点层次:Node类型和Document类型)
- DOM节点层次之Document类型
- JavaScript高级程序设计之DOM之节点层次之Document类型第10.1.2讲
- JavaScript高级程序设计之DOM之节点层次之DocumentFragment类型第10.1.8讲
- DOM节点层次(Document类型)
- js学习笔记14----DOM概念及子节点类型
- 《JS高程(3)》DOM操作技术-第10章笔记(17)
- DOM节点层次之Node类型
- JavaScript HTML DOM节点类型之Document类型(Document对象属性和Document对象集合属性)
- Js高程笔记->引用类型
- DOM节点层次之Text类型