HTML DOM
通過 HTML DOM,可訪問 JavaScript HTML 文檔的所有元素。
HTML DOM (文檔對(duì)象模型)
當(dāng)網(wǎng)頁(yè)被加載時(shí),瀏覽器會(huì)創(chuàng)建頁(yè)面的文檔對(duì)象模型(Document Object Model)。
HTML DOM 模型被構(gòu)造為對(duì)象的樹:
通過可編程的對(duì)象模型,JavaScript 獲得了足夠的能力來創(chuàng)建動(dòng)態(tài)的 HTML。
JavaScript 能夠改變頁(yè)面中的所有 HTML 元素
JavaScript 能夠改變頁(yè)面中的所有 HTML 屬性
JavaScript 能夠改變頁(yè)面中的所有 CSS 樣式
JavaScript 能夠?qū)?yè)面中的所有事件做出反應(yīng)
DOM Tree
DOM 表示文檔為樹形結(jié)構(gòu)。
HTML 元素成為樹中的相關(guān)節(jié)點(diǎn)。
樹中的所有節(jié)點(diǎn)之間都有某種關(guān)系。
節(jié)點(diǎn)可以有子節(jié)點(diǎn)。擁有同一父節(jié)點(diǎn)的節(jié)點(diǎn)稱為兄弟節(jié)點(diǎn)。
例如,考慮以下結(jié)構(gòu):
<html>有兩個(gè)子節(jié)點(diǎn)(<head>,<body>);
<head>有一個(gè)子節(jié)點(diǎn)(<title>)和一個(gè)父節(jié)點(diǎn)(<html>);
<title>有一個(gè)父節(jié)點(diǎn)(<head>),沒有子節(jié)點(diǎn);
<body>有兩個(gè)子節(jié)點(diǎn)(<h1>和<a>)和一個(gè)父節(jié)點(diǎn)(<html>);
提示: 了解HTML文檔中的元素之間的關(guān)系是很重要的,以便能夠使用JavaScript來操作它們。
document 對(duì)象
JavaScript中有一個(gè)預(yù)定義的文檔對(duì)象,可用于訪問DOM上的所有元素。
換句話說,文檔對(duì)象是網(wǎng)頁(yè)中所有對(duì)象的所有者(或根)。
因此,如果要訪問HTML頁(yè)面中的對(duì)象,則始終始終訪問 document 對(duì)象。
例如:
document.body.innerHTML = "Some text";
由于 body 是 DOM 的元素,因此我們可以使用 document 對(duì)象訪問它并更改 innerHTML 屬性的內(nèi)容。