JavaScript之DOM筆記01

JavaScript HTML DOM

通過 HTML DOM,可訪問 JavaScript HTML 文檔的所有元素。

HTML DOM (文檔對象模型)

當網頁被加載時,瀏覽器會創建頁面的文檔對象模型(Document Object Model)。

HTML DOM 模型被構造爲對象的樹:
在這裏插入圖片描述
通過可編程的對象模型,JavaScript 獲得了足夠的能力來創建動態的 HTML。

  • JavaScript 能夠改變頁面中的所有 HTML 元素
  • JavaScript 能夠改變頁面中的所有 HTML 屬性
  • JavaScript 能夠改變頁面中的所有 CSS 樣式
  • JavaScript 能夠對頁面中的所有事件做出反應

查找 HTML 元素

通常,通過 JavaScript,需要操作 HTML 元素。
爲了做到這件事情,您必須首先找到該元素。有三種方法來做這件事:

  • 通過 id 找到 HTML 元素

var x=document.getElementById("intro");

  • 通過標籤名找到 HTML 元素:查找 id=“main” 的元素,然後查找 id=“main” 元素中的所有

    元素

var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
  • 通過類名找到 HTML 元素:通過 getElementsByClassName 函數來查找 class=“intro” 的元素:
var x=document.getElementsByClassName("intro");

DOM規範

  1. 正如W3C所定義的,DOM是獨立於平臺和語言的接口,該接口爲程序和腳本提供了對文檔的內容、結構和樣式的動態獲取和更新的功能。

  2. DOM的出現來自對動態頁面的需求,先有DOM的實現(Netscape DOM0),再有各個廠商對DOM實現規範的需求,再有了W3C Activity Statement對於DOM發展的規範,然後纔有了我們所說的“DOM”。

  • DOM0:不是W3C規範。
  • DOM1:開始是W3C規範。專注於HTML文檔和XML文檔。
  • DOM2:對DOM1增加了樣式表對象模型(DOM2)
  • DOM3:對DOM2增加了內容模型 (DTD 、Schemas) 和文檔驗證。
  1. DOM0指的是Necscape3.0和IE3.0提供對於HTML文檔功能,實現了包括元素(HTML Element)、表單(Form)、圖像(Image)等的接口和方法。DOM0雖然年代久遠,某些實現並不符合新的DOM理念,但爲了向後兼容,很多現代瀏覽器仍然支持DOM0的某些方法和屬性。即便某些方法的實現原理有所不同,但提供了可用性。
  2. DOM0出現後,各廠商意識到DOM的前景,紛紛向W3C建議DOM的規範化。於是出現了W3C DOM Activity Statement(DOM的活動清單)以及DOM1、DOM2、DOM3規範(Specification)
  • DOM1 1.0版本發佈於1998年10月1日,是第一個DOM規範。DOM1包含兩部分:
  • DOM1 Core:定義了DOM最基本的接口,包括Document,Node,NodeList等等。
  • DOM1 THML:HTML文檔是DOM的一種實現,該規範定義了基於DOM1 Core的HTML文檔實現。
  1. DOM2規範在2000年11月13日發佈,主要包含6個模塊,相比於DOM1,DOM2更加豐富,更加完善。目前主流瀏覽器對DOM2有着良好的支持。
  • DOM2 Core: 相比於DOM1 Core,DOM2豐富了Document,Node等接口的功能,

  • DOM2 View:View提供的是DOM的表現形式,同一個文檔源(document source),可能有不同的表現形式,DOM2 View引入了Abstract View和Document View接口。

  • DOM2 Event:DOM 事件處理系統規範,DOM1中並未對DOM的事件模型進行定義,

  • 在DOM2中規範事件模型(Event Model)主要有兩個目的:

    • 1)設計一套通用的事件系統,實現事件處理程序的註冊和註銷,描述事件的流動(Event Flow),事件的上下文信息(Contextual Information )等;
    • 2)提供一套規範子集兼容老版本瀏覽器DOM0的事件實現。
  • DOM2 Style:程序和腳本動態地獲取和更新DOM的樣式,提供包括Style Sheet,Cascading Style Sheet, CSSRule, CSSStyleDeclaration, getComputedStyle接口。DOM2 Style的實現基於DOM2 Core和DOM2 View。

  • DOM2 Traverse and Range:DOM2 Traverse是關於文檔節點遍歷的規範,包括Treewalker,NodeIterator和NodeFilter等;

  • DOM2 Range是關於DOM片段(Document Fragment)操作的規範,譬如DocumentFragment。

  • DOM2 HTML:在DOM1 HTML的基礎上結合DOM2 Core推出了一些新的接口和屬性

  • DOM3首次發佈於2004年4月,主要包括Core、Load and Save、Validation、XPath、View and Formatting、Events和Abstract Schemas7個模塊。目前主流瀏覽器對DOM3的支持比較有限。

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