什么是DOM樱哼?
通過JavaScript球恤,您可以重構整個HTML文檔辜昵。您可以添加、移除咽斧、改變或重排頁面上的項目堪置。要改變頁面的某個東西,JavaScript就需要對HTML文檔中所有元素進行訪問的入口张惹。這個入口舀锨,連同對HTML 元素進行添加、移動宛逗、改變或移除的方法和屬性坎匿,都是通過文檔對象模型來獲得的(DOM)。在 1998 年雷激,W3C 發(fā)布了第一級的 DOM 規(guī)范替蔬。這個規(guī)范允許訪問和操作 HTML 頁面中的每一個單獨的元素。所有的瀏覽器都執(zhí)行了這個標準屎暇,因此承桥,DOM 的兼容性問題也幾乎難覓蹤影了。DOM 可被 JavaScript 用來讀取根悼、改變 HTML凶异、XHTML 以及 XML 文檔。
DOM 被分為不同的部分(核心挤巡、XML及HTML)和級別(DOM Level 1/2/3):
Core DOM
定義了一套標準的針對任何結構化文檔的對象
XML DOM
定義了一套標準的針對 XML 文檔的對象
HTML DOM
定義了一套標準的針對 HTML 文檔的對象剩彬。
節(jié)點
根據(jù) DOM,HTML 文檔中的每個成分都是一個節(jié)點玄柏。
DOM 是這樣規(guī)定的:
整個文檔是一個文檔節(jié)點
每個 HTML 標簽是一個元素節(jié)點
包含在 HTML 元素中的文本是文本節(jié)點
每一個 HTML 屬性是一個屬性節(jié)點
注釋屬于注釋節(jié)點
Node 層次
節(jié)點彼此都有等級關系襟衰。HTML 文檔中的所有節(jié)點組成了一個文檔樹(或節(jié)點樹)贴铜。HTML 文檔中的每個元素粪摘、屬性、文本等都代表著樹中的一個節(jié)點绍坝。樹起始于文檔節(jié)點徘意,并由此繼續(xù)伸出枝條,直到處于這棵樹最低級別的所有文本節(jié)點為止轩褐。
下面這個圖片表示一個文檔樹(節(jié)點樹):
參考鏈接:
http://blog.csdn.net/ghsau/article/details/7760826
節(jié)點椎咧。<title> 節(jié)點也有一個子節(jié)點:文本節(jié)點 "DOM Tutorial"。當節(jié)點分享同一個父節(jié)點時,它們就是同輩(同級節(jié)點)勤讽。比方說蟋座,<h1> 和 <p>是同輩,因為它們的父節(jié)點均是 <body> 節(jié)點脚牍。節(jié)點也可以擁有后代向臀,后代指某個節(jié)點的所有子節(jié)點,或者這些子節(jié)點的子節(jié)點诸狭,以此類推券膀。比方說,所有的文本節(jié)點都是 <html>節(jié)點的后代驯遇,而第一個文本節(jié)點是 <head> 節(jié)點的后代芹彬。節(jié)點也可以擁有先輩。先輩是某個節(jié)點的父節(jié)點叉庐,或者父節(jié)點的父節(jié)點舒帮,以此類推。比方說陡叠,所有的文本節(jié)點都可把 <html> 節(jié)點作為先輩節(jié)點会前。<span class="_kalamu-temp-placeholder"></span><p><title> 節(jié)點。<title> 節(jié)點也有一個子節(jié)點:文本節(jié)點 "DOM Tutorial"匾竿。當節(jié)點分享同一個父節(jié)點時瓦宜,它們就是同輩(同級節(jié)點)。比方說岭妖,<h1> 和 <p>是同輩临庇,因為它們的父節(jié)點均是 <body> 節(jié)點。節(jié)點也可以擁有后代昵慌,后代指某個節(jié)點的所有子節(jié)點假夺,或者這些子節(jié)點的子節(jié)點,以此類推斋攀。比方說已卷,所有的文本節(jié)點都是 <html>節(jié)點的后代,而第一個文本節(jié)點是 <head> 節(jié)點的后代淳蔼。節(jié)點也可以擁有先輩侧蘸。先輩是某個節(jié)點的父節(jié)點,或者父節(jié)點的父節(jié)點鹉梨,以此類推讳癌。比方說,所有的文本節(jié)點都可把 <html> 節(jié)點作為先輩節(jié)點存皂。