一.什么是DOM
HTML文檔對象模型(HTML Document Object Model)定義了訪問和處理HTML文檔的標準方法。HTML DOM 把HTML文檔呈現為帶有元素、屬性和文本的樹結構(節點樹)。
在1998年,W3C發布了第一級的DOM規范。這個規范允許訪問和操作HTML頁面中的每一個單獨的元素。所有的瀏覽器都執行了這個標準,因此,DOM的兼容性問題也幾乎難覓蹤影了。
DOM可被JavaScript用來讀取、改變HTML、XHTML以及XML文檔。被分為不同的部分(核心、XML及HTML)和級別(DOM Level 1/2/3):
Core DOM
定義了一套標準的針對任何結構化文檔的對象
XML DOM
定義了一套標準的針對XML文檔的對象
HTML DOM
定義了一套標準的針對HTML文檔的對象。
二.文檔樹(節點樹)
如下HTML文檔:
- <html>
- <head>
- <title>DOM Tutorial</title>
- </head>
- <body>
- <h1>DOM Lesson one</h1>
- <p>Hello world!</p>
- </body>
- </html>
<html>
<head>
<title>DOM Tutorial</title>
</head>
<body>
<h1>DOM Lesson one</h1>
<p>Hello world!</p>
</body>
</html>
1)除文檔節點之外的每個節點都有父節點。
2)大部分元素節點都有子節點。
3)當節點分享同一個父節點時,它們就是同輩(同級節點)
4)節點也可以擁有后代,后代指某個節點的所有子節點,或者這些子節點的子節點
5)節點也可以擁有先輩。先輩是某個節點的父節點,或者父節點的父節點
三.節點信息
每個節點都擁有包含著關于節點某些信息的屬性。這些屬性是:
nodeName(節點名稱) ,nodeValue(節點值), nodeType(節點類型)
1.nodeName
nodeName屬性含有某個節點的名稱。
元素節點的nodeName是標簽名稱
屬性節點的nodeName是屬性名稱
文本節點的nodeName永遠是#text
文檔節點的nodeName永遠是#document
注釋:nodeName所包含的XML元素的標簽名稱永遠是大寫的
2.nodeValue
對于文本節點,nodeValue屬性包含文本。
對于屬性節點,nodeValue屬性包含屬性值。
nodeValue屬性對于文檔節點和元素節點是不可用的。
3.nodeType
nodeType屬性可返回節點的類型。
最重要的節點類型是:
元素類型 節點類型
元素 1
屬性 2
文本 3
注釋 8
文檔 9
四.查找節點
1.通過使用 getElementById() 和getElementsByName()和 getElementsByTagName() 方法
2.通過使用一個元素節點的childNodes,parentNode、firstChild以及lastChild屬性
根節點
有兩種特殊的文檔屬性可用來訪問根節點:
document.documentElement 可返回存在于XML以及HTML文檔中的文檔根節點
document.body 對HTML頁面的特殊擴展,提供了對<body>標簽的直接訪問
posted on 2008-11-24 23:58
Vincent-chen 閱讀(307)
評論(0) 編輯 收藏 所屬分類:
JavaScript