BOM和DOM關系圖
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5STPJ0LcNXZslmZfhXZk5WavwFO0UTMuQmZmdTNhV2Y4UWOj1SO1YWYtYGN0QTLjZWM00yNhRjNxImMk9CX1IGO0Y2YygDNwQDOtYWO0gTL1YjZ00SZ1QTZtIGOkVjMmVGZvwFcppnb19CXuNmL6l2duUGdv52Lc9CX6MHc0RHaiojIsJye.png)
與BOM相關的一些對象 window對象:整個BOM的核心,在浏覽器中打開網頁時,首先看到的是浏覽器的視窗,即頂層的window對象。調用window對象的方法可以直接使用方法名。
window對象的常用屬性
名稱 | 說明 |
history | 有關客戶通路過的URL的資訊 |
location | 有關目前URL的資訊 |
window對象的常用方法
名稱 | 說明 |
prompt() | 顯示可提示使用者輸入的對話框 |
alert() | 顯示一個帶有提示資訊和一個“确定”按鈕的警示對話框 |
confirm() | 顯示一個帶有提示資訊、“确定”和“取消”按鈕的對話框 |
close() | 關閉浏覽器視窗 |
open() | 打開一個新的裡浏覽器視窗,加載給定URL所指定的文檔 |
setTimeout() | 在指定的毫秒數後調用函數或計算表達式(隻執行一次) |
setInterval() | 按照指定的周期(以毫秒計)來調用函數或表達式(循環) |
說明:setTimeout()和setInterval()方法可用clearTimeout(setTimeout()傳回的ID值)和clearInterval(setInterval()傳回的ID值)來清除。
window對象的常用事件
名稱 | 說明 |
onload | 一個頁面或一幅圖像完成加載 |
onmouseover | 滑鼠指針移到某元素之上 |
onclick | 滑鼠單擊某個對象 |
onkeydown | 某個鍵盤按下時 |
onchange | 域的内容改變時 |
history對象:提供使用者最近浏覽過的URL清單。
history對象的方法
名稱 | 描述 |
back() | 加載history對象清單中的前一個URL |
forward() | 加載history對象清單中的後一個URL |
go() | 加載history對象清單中的某個具體URL(通過參數指定) |
location對象:提供目前頁面的URL資訊,并且可以重新裝載目前頁面或裝入新頁面。 location對象的屬性
名稱 | 描述 |
host | 設定或傳回主機名和目前URL的端口号 |
hostname | 設定或傳回目前URL的主機名 |
href | 設定或傳回完整的URL |
location對象的方法
名稱 | 描述 |
reload() | 重新加載目前文檔 |
replace() | 用新的文檔替換目前文檔 |
document對象:既是window對象的一部分,又代表了整個HTML文檔,可用來通路頁面中的所有元素。
document對象的常用屬性
名稱 | 描述 |
referrer | 傳回載入目前文檔的URL |
URL | 傳回目前文檔的URL |
document對象的常用方法
名稱 | 描述 |
getElementById() | 傳回對擁有指定id的第一個對象的引用 |
getElementsByName() | 傳回帶有指定名稱的對象的集合 |
getElementsByTagName() | 傳回帶有指定标簽名的對象的集合 |
write() | 向文檔寫文本,HTML表達式或JavaScript代碼 |
DOM模型:每一個(X)HTML頁面,都具有一個DOM,每一個DOM都可以表示成一棵樹,這棵樹有包括很多的節點,DOM裡面的節點通常分為3中類型,即元素節點、文本節點和屬性節點。 元素節點:HTML中的各種标簽,這些元素在文檔中的布局形成了文檔的結構。 文本節點:标簽中的内容,網頁内容決定了一切。 屬性節點:對元素做出了更具體的描述。屬性節點都是元素節點的子節點。
DOM對象:可以使用getElementsByTagName()或者getElementById()來擷取的元素節點,通過該方式得到的DOM元素就是DOM對象。