DOM(Document Object Model,文檔東西模型)是現代網頁開辟中弗成或缺的一部分。它供給了一種將HTML文檔表示為樹形構造的方法,使得開辟者可能經由過程JavaScript輕鬆地拜訪跟修改文檔中的任何元素。本文將深刻探究DOM的不雅點、構造以及怎樣利用JavaScript來操縱DOM,從而使網頁動起來。
一、DOM的基本不雅點
DOM是一種用於HTML跟XML文檔的編程接口。它將文檔表示為一系列東西,每個東西都代表文檔中的一個元素,如HTML標籤、文本節點等。經由過程DOM,開辟者可能拜訪跟修改文檔的任何部分,包含內容、構造跟款式。
1.1 DOM的檔次構造
DOM將文檔表示為一個樹形構造,其中根節點是document
東西。每個節點可能包含子節點跟父節點,構成了一個檔次構造。
- 節點範例:DOM中的節點重要有以下多少品種型:
- 元素節點(Element):代表HTML標籤,如
<div>
、<p>
等。 - 文本節點(Text):代表標籤內的文本內容。
- 屬性節點(Attribute):代表元素的屬性,如
class
、id
等。 - 注釋節點(Comment):代表HTML文檔中的注釋。
- 元素節點(Element):代表HTML標籤,如
1.2 DOM的用處
DOM的重要用處包含:
- 獲取頁面上的元素。
- 修改頁面上的元素,如內容、屬性跟款式。
- 增加或刪除元素。
- 監聽用戶變亂,如點擊、鼠標挪動等。
二、DOM操縱
JavaScript供給了豐富的API來操縱DOM,以下是一些常用的操縱方法:
2.1 獲取元素
getElementById(id)
:經由過程元素的ID獲取單個元素。getElementsByClassName(class)
:經由過程元素的class名獲取多個元素。getElementsByTagName(tagName)
:經由過程元素的標籤名獲取多個元素。querySelector(selector)
:經由過程CSS抉擇器獲取單個元素。querySelectorAll(selector)
:經由過程CSS抉擇器獲取多個元素。
2.2 修改元素
innerHTML
:獲取或設置元素的HTML內容。innerText
:獲取或設置元素的文本內容。style
:獲取或設置元素的款式。setAttribute(name, value)
:設置元素的屬性。removeAttribute(name)
:移除元素的屬性。
2.3 增加跟刪除元素
createElement(tagName)
:創建一個新的元素節點。appendChild(newChild)
:將新元素增加到指定元素的子節點列表末端。insertBefore(newChild, refChild)
:在指定元素之前拔出新元素。removeChild(oldChild)
:從父元素中移除子元素。
2.4 變亂監聽
addEventListener(type, listener)
:為元素增加變亂監聽器。removeEventListener(type, listener)
:移除元素的變亂監聽器。
三、實例
以下是一個簡單的示例,展示了怎樣利用DOM操縱來修改頁面元素:
// 獲取頁面元素
var div = document.getElementById("myDiv");
// 修改元素內容
div.innerHTML = "這是修改後的內容";
// 修改元素款式
div.style.color = "red";
div.style.fontSize = "20px";
// 增加新元素
var newDiv = document.createElement("div");
newDiv.innerHTML = "這是新增加的元素";
div.appendChild(newDiv);
// 變亂監聽
div.addEventListener("click", function() {
alert("你點擊了div元素!");
});
四、總結
DOM是現代網頁開辟的基本,經由過程DOM操縱,開辟者可能輕鬆地創建靜態、交互式的網頁。控制DOM操縱方法對成為一名優良的網頁開辟者至關重要。