Javascript中的DOM(文檔對象模型)是指一種用于HTML(超文本標記語言)文檔的API(應用程序編程接口)。它將HTML文檔表示為樹形結構,每個節點表示HTML元素或其他組件。DOM使Javascript可以操作HTML元素,并允許開發人員使用Javascript來操縱文檔的外觀和行為。
例如,假設我們在HTML文檔中有一個按鈕,并且需要在用戶單擊該按鈕時運行一些Javascript代碼。為了執行此操作,我們可以使用DOM API獲取該按鈕并將其相應的事件處理程序添加到按鈕上:
<button id="myButton">Click me!</button> <script> var button = document.getElementById('myButton'); button.addEventListener('click', function() { alert('Button was clicked!'); }); </script>
在這個例子中,我們首先使用document.getElementById()函數獲取按鈕元素,并將其存儲在一個變量中。接下來,我們使用addEventListener()函數向按鈕添加一個“click”事件,指定相應的處理函數。在這種情況下,處理函數會生成一個簡單的警報框,告訴用戶按鈕已被單擊。
在DOM中,每個HTML元素都是一個節點。這些節點的類型可以是元素節點(例如
和)、屬性節點和文本節點。例如,在下面的HTML文檔中:
<!DOCTYPE html> <html> <head> <title>My Page</title> </head> <body> <p>Welcome to my page!</p> </body> </html>
該HTML文檔的DOM樹如下所示:
<!DOCTYPE html> <html> |--<head> | |--<title>My Page</title> | |--<body> |--<p>Welcome to my page!</p>
在此DOM樹中,根節點是整個HTML文檔。HTML標記本身成為子樹的根節點,并包含用于標題和正文的子節點。每個節點都有一個或多個屬性,可以用Javascript代碼進行訪問和修改。
DOM還通過提供與特定元素相關的屬性和方法來允許開發者與用戶交互。例如,我們可以使用DOM API隱藏或顯示元素,甚至可以獲取鼠標位置或滾動位置。
<button onclick="document.getElementById('myDiv').style.display='block'">Show</button> <button onclick="document.getElementById('myDiv').style.display='none'">Hide</button> <div id="myDiv"> <p>Content of my div</p> </div>
在上述例子中,我們將按鈕的onclick事件處理程序設置為針對隱藏或顯示具有ID myDiv的元素。我們通過document.getElementById()獲取該元素并使用CSS樣式display屬性來控制元素的可見性。
DOM在Javascript中是一個非常有用的API,它使開發人員可以輕松地查找、操作和修改HTML元素。它可以通過一系列屬性、方法與事件來實現與用戶的交互,是Web開發工作中不可或缺的一部分。