第十章 DOM

10.1节点层次

html元素通过元素节点表示,特性节点通过特性节点表示,文档类型节点通过文档类型节点访问,这些类型都继承一个基类型。

10.1.1 Node类型

JavaScript中的所有节点类型都承自Node类型,因此所有节点类型都共享着相同的基本属性和方法

nodeType属性表明节点的类型

每个节点都有一个childNodes属性,保存着一个Nodelist类数组对象,可以使用Array.prototype.slice()方法将其转换为数组

parentNode属性指向文档树中的父节点

previousSbling、nextSibling

appendchild()向childNodes列表的末尾添加一个节点

inserBefore()把节点放在childNodes列表中某个特定的位置上,接受两个参数:要插入的节点和作为参照的节点

replaceChild()用于替换节点,接受两个参数:要插入的节点和要替换的节点

removeChild()这个方法接受一个参数即要移除的节点

cloneNode()接受一个布尔值参数,true时复制节点及其整整个子节点树,false时只复制节点本身

normlize()用于处理文档中的文本节点

10.1.2 Doucument类型

nodetype的值为9,nodename的值“#document”, nodevalue的值为null

document对象是window对象的一个属性

 doucument的子节点可以是DocumentType、Element、ProcessingINstruction或comment

document.getElementsByTaName()、document.getElementsByName()会返回一盒HTMLCollection

10.1.3Element类型

nodetype的值为1, nodename的值为元素的标签名, nodevalue的值为null

访问元素的标签名,可以使用nodeName属性,也可以使用tagName属性

if(element.tagName.toLowerCase()=="div"){}

Html中标签名始终是以大写输出的,Xml会与源码中一致

操作特性的DOM方法主要有getAttribute()、setAttribute()、removeAttribute(),这三种方法可以针对任何特性使用

原文地址:https://www.cnblogs.com/wwjdx/p/6161047.html