DOM簡單梳理

定義:DOM:Document Object Model。
是針對HTML,XML文檔的一個API(應用程序編程接口),它將任何HTML,XML文檔描繪成一個由多層節點(node)構成的結構。
節點有多種類型,每種類型表示文檔中不同的信息及標記,每個節點也擁有各自的特點、數據和方法,然後各節點之間也存在某種關係。
想象成一個樹狀圖


一、Node節點爸爸

一共有12種節點,這些節點都繼承自一個基類型Node。
1.基本屬性方法:
nodeName
nodeValue
nodeType
childNodes:一個保存子元素的Nodelist
parentNodes
nextSibling - previousSibling
2.操作節點方法
appendChild()
insertBefore(node1,node2)
replaceChild(node1,node2)
removeChild(nodex)移除某個節點
cloneNode(true or false) : true表示深複製(整個子節點樹),false表示淺複製(本身)

二、常用節點Document類型
JS通過Document類型表示文檔,在瀏覽器中,document對象是繼承自Document的HTMLDocument的一個實例,表示整個HTML頁面。

1.方法
dcument.documentElement :取得對<html>的引用
dcument.body
dcument.doctype(註釋在不同的瀏覽器結果不同)
dcument.title
dcument.URL/domain/referrer(修改成同一個domain可以實現跨訪問)
dcument.getElementById() (大小寫匹配,返回第一個符合的對象,name不要設置和ID一樣,IE很多不一樣)
dcument.getElementSByTagName() (返回HTMLCollection, 比如“img”,”*”表示取得所有元素)
document.write/open/close/writeln/
特殊集合: 都是HTMLCollection對象
document.anchors :帶name特性的<a>
document.forms
document.images
document.links 帶href的<a>

2.一致性檢查
由於DOM分爲多個級別,也包含多個部分,因此檢測瀏覽器實現了哪些部分十分必要。

三、Element元素
作用:用於變現HTML,XML元素,提供了對元素標籤名、子節點、特性的訪問。
1.HTML元素
標準特性:id,title,lang,dir,className

2.對特性的操作(特性部分大小寫)

getAttribute()
setAttribute()
removeAttribute()

3.attributes屬性
它也包含一個NamedNodeMap,動態集合
element.attributes[“id”]

注:除IE外,不能用屬性的形式添加特性到DOM對象中。
一般用對象的屬性來取得特性,只有取得自定義特性值時,纔會使用getAttribute().
DOM操作中,<script> <style> 小心點
DOM消耗開銷很大,NodeList問題最多。儘量減少DOM操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章