首页 > 代码库 > 文档对象模型DOM
文档对象模型DOM
1、节点:
文档节点Document
元素节点Element
文本节点Text
属性节点Attr
注释节点Comment
2、节点的属性和方法:
nodeType:判断节点类型
ownerDocument:指向这个节点所属的文档
firstChild:指向在childNodes列表中的第一个节点
lastChild:指向在childNodes列表中的最后一个节点
childNodes:所有子节点的列表
previousSibling:指向前一个兄弟节点;如果这个节点就是第一个兄弟节点,那么该值为null
nextSibling:指向后一个兄弟节点;如果这个节点就是最后一个兄弟节点,那么该值为null
hasChildNodes():当childNodes包含一个或多个节点时
attributes:包含了代表一个元素的特性的Attr对象;仅用于Element节点
appendChild(node):将node添加到childNodes的末尾
removeChild(node):从childNodes中删除node
replaceChild(newnode,oldnode):将childNodes中的oldnode替换成newnode
insertBefore(newnode,refnode):在childNodes中的refnode之前插入newnode
3、助手对象
NodeList:用来表示一个元素的子节点
NamedNodeMap:用于表示元素特性
4、访问相关的节点
访问<html/>元素:var ohtml=document.ducumentElement;
取得<head/>和<body/>元素:var oHead=ohtml.firstChild或var oHead=ohtml.childNodes[0]
或var oHead=ohtml.childNodes.item(0);
var oBody=ohtml.lastChild或var oBody=ohtml.childNodes[1]
或var oHead=ohtml.childNodes.item(1);;
获取子节点的数量:alert(ohtml.childNodes.length);
查询是否存在一个子节点:hasChildNodes()。
定义document.body作为指向<body/>元素的指针:var oBody=document.body;
parentNode
5、检测节点类型(nodeType)
6、处理元素属性
getAttribute(name):返回node属性值等于name的节点;
setAttribute(name,newname):更改
removeAttribute(name):删除node属性值等于name的节点;
var sId=op.getAttribute("id"):获取id特性。
7、访问指定节点
1)getElementsByTagName()
var oImgs=document.getElementByTagName("img");
alert(oImg[0].tagName);
var oPs=document.getElementsByTagname("p"); var oImgsInP=oPs.getElementsByTagName("img"); 用星号的方法来获取document中的所有元素。但IE必须使用document.all来代替它
2)getElementsByName()(获取所有name属性等于指定值的元素)
3)getElementById()
8、创建和操作节点
1)createElement()、createTextNode()、appendChild()
var oP=document.createElement("P");
var oText=document.createTextNode("Hello world!");
oP.appendChild(oText);
document.body.appendChild(oP);
在body里面写onload。
2)removeChild()删除节点、replaceChild()替换节点、insertBefore()插入节点,可以让新消息出
现在旧消息之前。
3)createDocumentFragment():创建一个文档碎片,把所有的新节点附加其上,然后把文档碎片的内容
一次性添加到document中。
4)cloneNode()复制节点
5)操作文本节点 访问文本节点事例:textNode=document.getElementById(‘p1‘).firstChild; 用length属性访问它的长度,data属性设置它的属性值。 方法:apppendData(string):将字符串添加在文本节点的文本末尾。 deleteData(offset,count):删除文本节点中从指定位置开始的指定数量的字符。 insertData(offset,string):将指定字符串插入到文本节点指定的位置中。 replaceData(offset,count,string):用给定的字符串替换文本节点指定位置指定数量的文
本数据。 splitText(offset):将指定位置的文本节点分成两部分,将右边的部分返回为一个新的文本
节点,将左边的部分留在原始位置。 substringData(offset,count):从文本节点的文本数据中返回指定位置指定数目的字符串。
9、HTML DOM特征功能 1)让特性像属性一样。className 2)table方法 3)innerHTML
文档对象模型DOM