脚本化文档DOM总结

脚本化文档DOM

1.选取文档元素

1:document.getElementById();通过ID选取文档元素

2:document.getElementsByName();通过名字选取文档元素

3:document.getElementsByTagName();通过标签选取元素

2.文档结构和遍历

  Document对象,它的Element对象和文档中表示的文本的Text对象都是Node对象。Node定义的几个属性:

1:parentNode:该节点的父节点

2:childNodes:该节点的子节点,是一个数组对象(NodeList对象)

3:firstChild、lastChild:该节点的子节点的第一个和最后一个,如果没有子节点则为NUll

4:nextSibling、previousSibling:该节点的的兄弟节点的前一个节点和后一个节点,具有相同父节点的二个节点为兄弟节点,节点的顺序反映了它们在文档中出现的顺序,这二个属性节点之间以双向链表的形式连接起来。

5.nodeType:该节点的类型:

9代表Document节点;

1代表Element节点;

3代表Text节点;

8代表Comment节点;

11代表DocumentFrament节点;

  6.nodeValue:Text节点和Comment节点的文本内容;

7.nodeName:元素的标签名,以大写字母形式表示;

2.属性

a) getAttribute();

b) setAttribute();

c) Document.body.attribute[0];

d) Docuemnt.body.attribute.bgColor;

e) Document.body.attribute["onload"];

3.作为纯文本的元素内容

a) textContent;

b) innerText;

c) innerHTML

4.创建、插入、删除节点

a) 元素节点:document.createElement("<script>");

b) Text节点:document.createTextNode("text node content");

c) 插入节点:parent.appendChild(child); node.insertBefor(); 

d) 注:在该节点后面添加一个节点:先获取一个nextSibling对象,然后中在调用insertBefor();

5.删除和替换节点

a) n.parentNode.removeChild(n);

b) n.parentNode.replaceChild(docuemnt.createTextNode("[redacted]"),n);第一个是新节点,第二个是代替节点

6.DocumentFragment作为一个临时的容器,做一个暂时存储的Docuemnt

7.文档坐标和视口坐标

a) scrollLeft: 

b) scrollTop:

c) innerWidth innerHeight 是IE9以上的版本支持

d) clientWidht clientHeight 是IE所有浏览器都支持

e) Var box = e.getBoundingClientRect(); 有四个属性left right top bottom

f) Var offsets = e.getScrollOffsets(); 有二个属性 x y;

8.元素尺寸、位置 和溢出信息

a) offsetWidth offsetHeight offsetLeft offsetTop offsetParent

b) clientWidth clientHeight clientLeft clientTop

c) scrollWidth scrollHeight scrollLeft scrollTop

<!--EndFragment-->

相关推荐