DOM(二)

来源:互联网 发布:淘宝销售量怎么算 编辑:程序博客网 时间:2024/04/29 11:17

DOM是针对HTML和XML文档的API,DOM描绘了一个层次化的节点树

Node(抽象表示文章的一个独立部分):

NodeType:表明节点类型  1为元素节点 2为特性节点 3为文本节点 8为注释节点 9文档节点

NodeName 元素节点保存标签名  NodeValue 节点值 元素节点为零 

childNodes 保存NodeList对象,随DOM树变化动态变化  parentNode

previousSibling nextSibling 访问前后节点

firstChild lastChild   hasChildNodes(检测节点)包含子节点返回true  ownerDocument直接访问文档节点

被插节点.appendChild(插入节点) insertBefore(插入节点,参照节点) replaceChild(插入节点,被替换节点)  removeChild(要移除节点)

someNode.cloneNode(boolean) 深复制或浅复制


Document:

document对象是Document的一个实例,也是window对象的一个属性,可以当做全局对象,表示整个HTML页面

document.getElementById() document.getElementsByTagName()  document.getElementsByName() 取值为HTMLCollection对象,动态变化,其对象方法namedItem(name特性)


Element:

getAttribute() setAttribute() removeAttribute()

attributes属性包含NamedNodeMap动态对象时事刷新元素所包含特性

document.createElement() getELementsByTagName()


引入《JavaScript高级程序设计》的两段话

访问DOM的操作在多数情况下都很直观,不过在处理<script>和<style>元素师还是存在一些复杂性。由于这两个元素分别包含脚本和样式信息,因此浏览器通常会将他们与其他元素区别对待。这些区别导致了在针对这些元素使用innerHTML时,以及在创建新元素时的一些问题。

理解DOM的关键,就是理解DOM对性能的影响。DOM操作往往是JavaScript程序开销中最大的部分,因而访问NodeList导致的问题为最多。NodeList对象都是“动态的”,这就意味着每次访问NodeList对象,都会运行一次查询。有鉴于此,最好的方法就是尽量减少DOM操作。


0 0
原创粉丝点击