一、DOM的定義:
DOM是Document Object Model文檔對象模型的縮寫。根據W3C DOM規範,DOM是一種與瀏覽器、平臺、語言無關的接口,使得你可以訪問頁面其他的標準。其結構是樹形結構。
二、DOM與JavaScript的區別:
W3C DOM和JavaScript很容易混淆不請。DOM是面向HTML和XML文檔的API,爲文檔提供了結構化表示,並定義瞭如何通過腳本來訪問文檔結構。JavaScript則是用於訪問和處理DOM的語言。一般,支持JavaScript的所有瀏覽器都支持DOM。
三、DOM的屬性和方法
1、 屬性:
childNodes 返回當前元素所有子元素的數組
firstChild 返回當前元素的第一個下級子元素
lastChild 返回當前元素的最後一個子元素
nextSibling 返回緊跟在當前元素後面的元素
nodeValue 指定表示元素值的讀/寫屬性
parentNode 返回元素的父節點
previousSibling 返回緊鄰當前元素之前的元素
2、 方法:
createAttribute() 用指定的名字創建新的Attr節點
createComment() 用指定的字符串創建新的Comment節點
createElement () 用指定的標記名創建新的Element節點
createTextNode () 用指定的文本創建新的TextNode節點
getElementById() 返回文檔中具有指定id屬性的Element節點
getElementByTagName() 返回文檔中具有指定標記名的所以Element節點
四、Elementc常用的方法:
getAttribute() 以字符串形式返回指定屬性的值
getAttributeNode() 以Attr節點的形式返回指定屬性的值
getElementsByTabName() 返回一個指定標記名所有Element節點的Node數組
has Attribute() 表示該元素釋放具有指名字的屬性,有則返回true
removeAttribute() 從元素中刪除指定的屬性
removeAttributeNode() 從元素的屬性列表中刪除指定的Attr節點
setAttribute() 設置指定屬性的值,如果該屬性不存在,則添加一個新元素
setAttributeNode() 把指定的Attr節點添加到該元素的屬性列表中
五、node對象:方便遍歷整個文檔
1、 常用屬性:
Attributes 如果該節點是一個Element,則以NameNodeMap形式返回該元素的屬性
childNodes 以Node[]形式存放當前節點的子節點
firstChild 以Node的形式返回當前節點的第一個子節點
lastChild 以Node的形式返回當前節點的最後一個子節點
nextSibling 以Node的形式防火當前接的的兄弟下一個節點
nodeName 節點的名字,Element節點則代表Element的標記名稱
nodeType 代表節點的類型
pareantNode 以Nod的形式返回當前節點的父節點
previousSibling 以Nod的形式返回緊挨當前節點,位於它之前的兄弟節點
2、常用方法
appendChid() 通過把一個節點增加到當前節點的childNod[]組
cloneNode() 複製當前節點
hasChildNodes() 如果當前節點用於子節點,則將返回true
inserBerfore() 給文檔樹插入一個節點,位置在當今節點的指定子節點之前,如果該節點已經存在,則刪除之後在插入到她的位置
removeChild() 從文檔樹中刪除並返回指定的子節點
replaceChild() 從文檔樹中刪除並返回指定的子節點,用另一個節點替換它
六、簡單例子:類留言版
1、 新建一Dom.html,其body體如下
2、 增加添加功能,其javascript代碼如下
在這代碼中,有tbody標籤,這標籤是table體,加入了這標籤是爲了實現跨平臺
3、 添加刪除功能
a、在 中添加一刪除方法,代碼如下:
b、實現deleteTe方法:
注意到這來有返回值false,這裏的作用是爲了是鏈接失效
4、 測試
打開瀏覽器,輸入Dom.html所在的位置,顯示
姓名和信息分別輸入chensr和你好,點擊提交
點擊delete,會有一個提示框提示你是否刪除,點擊是,如果刪除成功,則表示測試成功。