當網頁被加載時,瀏覽器會建立頁面的文檔對象模型DOM(Document Object Model)。經過HTML DOM,JavaScript 可以訪問和改變 HTML 文檔的全部元素(內容,結構和樣式)。html
HTML DOM 是 HTML 的標準對象模型和編程接口。它定義了:node
HTML DOM 是關於如何獲取、更改、添加或刪除 HTML 元素的標準。編程
經過這個對象模型,JavaScript 得到建立動態 HTML 的全部力量:瀏覽器
W3C 的 HTML DOM 標準,HTML 文檔中的全部內容都是節點:app
nodeName 屬性ui
nodeName 屬性規定節點的名稱。spa
注意:nodeName 始終包含 HTML 元素的大寫字母標籤名。code
nodeValue 屬性cdn
nodeValue 屬性規定節點的值。htm
nodeType 屬性
nodeType 屬性返回節點的類型。nodeType 是隻讀的。
比較重要的節點類型有:
元素類型 | nodeType |
---|---|
元素 | 1 |
屬性 | 2 |
文本 | 3 |
註釋 | 8 |
文檔 | 9 |
一些經常使用的 HTML DOM 方法:
一些經常使用的 HTML DOM 屬性:
<div id="rootDiv">
<ul id="items">
<li id="item1">item1</li>
<li id="item2">item2</li>
<li id="item3">item3</li>
</ul>
</div>
複製代碼
在Chrome瀏覽器控制檯使用下面命令
var rootDiv = document.getElementById('rootDiv');
// 這裏若是用console.log()不能輸出DOM節點對象結構
console.dir(rootDiv);
複製代碼
看下面輸出結果能夠獲知DOM節點對象包含了哪些屬性。
下面還有
把rootDiv
DOM節點的childNodes
屬性的詳細展開以下
從上圖中咱們能夠獲知HTML文件中除了正常的標籤,一些「換行」符被解析成了DOM節點,類型爲text
。
這篇文章的內容很基礎,主要介紹了DOM領域一些比較重要的概念,咱們須要重點了解的是DOM節點對象都有哪些屬性好比nodeName
,nodeValue
,nodeType
,childNodes
等和方法尤爲是appendChild(node)
。