6st DOM與BOM
DOM簡介:
DOM 是 W3C(萬維網聯盟)的標準,是 Document Object Model(文檔對象模型)的縮寫。
DOM 定義了訪問 HTML 和 XML 文檔的標準:
“W3C 文檔對象模型 (DOM) 是中立於平臺和語言的接口,它允許程序和腳本動態地訪問和更新文檔的內容、結構和樣式。”
W3C DOM 標準被分為 3 個不同的部分:
- 核心 DOM - 針對任何結構化文檔的標準模型
- XML DOM - 針對 XML 文檔的標準模型
- HTML DOM - 針對 HTML 文檔的標準模型
Contact:
HTML DOM 定義了所有 HTML 元素的對象和屬性,以及訪問它們的方法。換言之HTML DOM 是關於如何獲取、修改、添加或刪除 HTML 元素的標準。
DOM 對象method:
方法 |
描述 |
|
getElementById() |
返回帶有指定 ID 的元素。 |
|
getElementsByTagName() |
返回包含帶有指定標簽名稱的所有元素的節點列表(集合/節點數組)。 |
|
getElementsByClassName() |
返回包含帶有指定類名的所有元素的節點列表。 |
|
appendChild() |
把新的子節點添加到指定節點。 |
|
removeChild() |
刪除子節點。 |
|
replaceChild() |
替換子節點。 |
|
insertBefore() |
在指定的子節點前面插入新的子節點。 |
|
createAttribute() |
創建屬性節點。 |
|
createElement() |
創建元素節點。 |
|
createTextNode() |
創建文本節點。 |
|
getAttribute() |
返回指定的屬性值。 |
|
setAttribute() |
把指定屬性設置或修改為指定的值。 |
|
BOM簡介:
BOM(Browser Object Model)即瀏覽器對象模型。
BOM提供了獨立於內容 而與瀏覽器窗口進行交互的對象,瀏覽器對象模型 (BOM) 使 JavaScript 有能力與瀏覽器“對話”。
由於BOM主要用於管理窗口與窗口之間的通訊,因此其核心對象是window;
BOM由一系列相關的對象構成,並且每個對象都提供了很多方法與屬性. 可以移動、調整瀏覽器大小的window對象,可以用於導航的location對象與history對象,可以獲取瀏覽器、操作系統與用戶屏幕信息的navigator與screen對象,可以使用document作為訪問HTML文檔的入口,管理框架的frames對象等
Method:
window對象:所有瀏覽器都支持 window 對象。它表示瀏覽器窗口。所有 JavaScript 全局對象、函數以及變量均自動成為 window 對象的成員。全局變量是 window 對象的屬性。函數是 window 對象的方法。
屬性:
status:狀態欄(目前瀏覽器已棄用了)
opener:即誰打開我的,若在A用open打開B則B的opener就是A
closed:判斷子窗體是否關閉
方法:
alert() 彈出框
confirm() 帶確認,取消彈出框
setInterval() 每隔多少秒調用一次
clearInterval() 清除setInterval
setTimeout() 隔多少秒調用一次
cleartimeout() 清除setTimeout
open() 打開一個新的窗口
Contact:
BOM缺乏標準,JavaScript語法的標準化組織是ECMA,DOM的標準化組織是W3C,BOM最初是Netscape瀏覽器標準的一部分。
javacsript
是通過訪問BOM
(Browser
Object Model)對象來訪問、控制、修改客戶端(瀏覽器),由於BOM
的window
包含了document
,window對象的屬性和方法是直接可以使用而且被感知的,因此可以直接使用window
對象的document
屬性,通過document
屬性就可以訪問、檢索、修改XHTML文檔內容與結構。因為document
對象又是DOM(Document
Object Model)模型的根節點。可以說,BOM包含了DOM
(對象),瀏覽器提供出來給予訪問的是BOM對象,從BOM對象再訪問到DOM
對象,從而js可以操作瀏覽器以及瀏覽器讀取到的文檔。
其中DOM包含:window
1 2 3 |
Window對象包含屬性:document、location、navigator、screen、history、frames
Document根節點包含子節點:forms、location、anchors、images、links |
從window.document已然可以看出,DOM的最根本的對象是BOM的window對象的子對象。
區別:
DOM描述了處理網頁內容的方法和接口,BOM描述了與瀏覽器進行交互的方法和接口
6st DOM與BOM