DOM 是 document object model(文檔對象模型)的縮寫。它是一種與平臺、語言無關的接口,允許程序動態地訪問或更新 HTML、XML 文檔的內容、結構和樣式,且提供了一系列的函數和對象來實現增、刪、改、查操作。
DOM 對象的一個特點是,它的各種對象有明確的從屬關系。也就是說,一個對象可能是從屬于另一個對象的,而它又可能包含其他的對象。
document 對象包含當前網頁的各種特征,是 window 對象的子對象,指在瀏覽器窗口中顯示的內容部分,如標題、背景、使用的語言等。
1.document 對象的屬性
屬 性 | 描 述 |
---|---|
body | 提供對 body 元素的直接訪問 |
cookie | 設置或查詢與當前文檔相關的所有 cookie |
URL | 返回當前文檔的 URL |
forms[] | 返回對文檔中所有的 form 對象的集合 |
2.document 對象的方法
方 法 | 描 述 |
---|---|
open() | 打開一個新文檔,并擦除當前文檔的內容 |
write() | 向文檔寫入 HTML 或 JavaScript 代碼 |
writeln() | 與 write () 方法作用基本相同,在每次內容輸出后額外加一個換行符 (\n),在使用<pre>標簽時比較有用 |
close() | 關閉一個由 document.open () 方法打開的輸出流,并顯示選定的數據 |
getElementById() | 返回對擁有指定 ID 的第一個對象 |
getElementsByName() | 返回帶有指定名稱的對象的集合 |
getElementsByTagName() | 返回帶有指定標簽名的對象的集合 |
getElementsByClassName() | 返回帶有指定 class 屬性的對象集合,該方法屬于 HTML5 DOM |
在 document 對象的方法中,open ()、write ()、writeln () 和 close () 方法可以實現文檔流的打開、寫入、關閉等操作;而 getElementById ()、getElementsByName ()、getElementsByTagName () 等方法用于操作文檔中的元素。
<!-- 禁止手動修改,必須使用JavaScript操縱DOM實現。練習要求:1.將第一個<hr>節點改為黑色(即id="hr1"的節點)2.將第二個<hr>節點從<body>節點中移除(即id="hr2"的節點)3.創建一個新的節點,如下所示:<hr color="blue" width="250" id="hr3">--><hr color="red" width="500" id="hr1"><hr color="green" width="500" id="hr2"><script>const ele1 = document.getElementById("hr1");ele1.color = "black";const ele2 = document.getElementById("hr2");const body_node = document.body;body_node.removeChild(ele2);const hr3 = document.createElement("hr");hr3.color = "blue";hr3.width = "250";hr3.id = "hr3";body_node.appendChild(hr3);</script>