DOM全称Document Object Model,文档对象模型,是针对html和xml文档的一个API。
DOM可表示将html或xml文档描述成有层次的节点树。哈哈,盗用度娘的图。
文档节点是每个文档的根节点。HTML中,文档元素(<html>元素)始终都是<html>元素。XML中,任何元素都可成为文档元素。
节点间的关系是:类似家谱关系。
a.每个节点都有childNodes属性,其中保存着NodeList对象。获取Nodelist中的节点,可以是somenode.childNodes[0],也可以是somenode.childNodes.item(1)。
b。同胞节点间的表示。previousSibling表示节点的前节点,nextSibling表示节点的下一个节点。
c.孩子节点:firstChild,lastChild,childNodes。
d.父节点:parentNode。
节点类型一共有12种类型,都继承自一个基类型。
node类型
js中所有的节点类型均继承自node类型,所以所有节点类型都共享着相同的基本属性和方法。
1 基本属性
nodeType:说明节点的类型。有12种类型,就不写了。
nodeName:取决于节点的类型。要是元素的话,nodeName表示元素的标签名。
nodeValue::取决于节点的类型。要是元素的话,nodeValue则为null。
ownerDocument::表示整个文档的文档节点。通过这个属性可直接访问文档节点。
2 基本方法
hasChildNodes() 节点包含一或多个子节点的时候,为true。
cloneNode(true) 深复制,复制节点及其整个子节点树; cloneNode(false) 浅复制,只复制节点本身。
normalize() 处理文档树中的文本节点。规范文本节点,如找到了空文本节点,则删除;如果找到了相邻的文本节点,则合并成一个节点。
下面四个方法操作的都是某个节点的子节点。
appendChild() 如果添加的节点已经是文档的一部分了,会从原来位置转移到新位置。
insertBefore(要插入的节点,参照的节点)。 insertBefore(要插入的节点,null)=appendChild(要插入的节点)。
replaceChild(要插入的节点,要替换的节点)
removeChild(要移除的节点)
未完待续………………
写这么一点内容,竟然用了这么长时间= =!