5.1 节点

节点分为几种不同的类型,每种类型分别表示文档中不同的信息或标记。

Node

DOM1定义了一个Node接口,该接口实现DOM的所有节点类型。

nodeType 表明节点类型

nodeName元素标签名

nodeValue对于元素节点,始终未null.可以用于设置文本节点内容

操作节点

以下四个节点必须获得父节点(使用parentNode属性)

appendChild() 用于向childNodes列表的末尾添加一个节点。

insertBefore() 接受两个参数,要插入的节点与作为参照的节点。用于把节点插入某个特定的位置。

replaceChild() 接受两个参数,要插入的节点和被替换的节点。

removeChild()移除节点。

cloneNode() 接受true/false 深复制/浅复制 创建调用这个方法的节点完全相同的副本

normalize() 处理文档树中文本节点。

Document

js通过Document类型表示文档。

文档信息

document.title取得文档标题

document.URL取得完整域名

document.domain取得域名

document.referrer取得来源页面URL

查找元素

getElementById()返回指定ID元素,不存在则返回null

getElementsByTagName()返回包含零或多个元素的NodeList

nameItem()通过元素的name特效取得集合中项

特殊集合

document.anchors 包含文档中所有带name特效的a元素

document.images 包含文档中所有Img元素

document.links 包含文档中所有带href特效的a元素

取得特性

document.createAttribute()创建特性节点 不过很少用

getAttribute() 可以取得自定义特性

setAttribute()

removeAttribute()

var div = document.getElementById("test");
div.getAttribute("class")

div.setAttribute("test","testing")
div.getAttribute("test")//testing

创建元素

document.createElement()

document.createTextNode()

var div = documentElement("div");

div.id="test";
div.className="2333"

var text = document.createTextNode("hello world");
div.appendChild(text);

document.body.appendChild(div);

document.createDocumentFragmet() 可用于作为仓库,里面保存即将添加到文档的节点。