1. 程式人生 > >DOM(文件物件模型)學習筆記(一)

DOM(文件物件模型)學習筆記(一)

DOM可以將任何Html或XML文件描繪成一個由多層節點構成的結構,節點分為多種型別,每個節點都有自己的特點,資料和方法。
**

Node型別:

**
每個節點都有一個nodeType屬性,表明節點的型別,nodeName屬性表示元素的標籤名,nodeValue屬性取決於節點型別。
每個節點都有一個childNodes屬性,其中儲存著一個NodeList陣列物件,有length屬性但不屬於Array的例項,NodoList物件實際是基於DOM結構動態執行查詢的結果。訪問儲存在NodeList中的節點方法:1.方括號;2.使用item()

     var firstChild = someNode.childNodes
[0]; var secondChild = someNode.childNodes.item(1); var count = someNode.childNodes.length;

每一個節點都有一個parentNode屬性,指向該節點的父節點。childNodes中得所有節點都具有同一個父節點,且每個節點相互之間都是同胞節點,可以通過previousSibling和nextSibling屬性訪問前一個和後一個兄弟結點。父節點firstChild和lastChild分別指向childNodes第一個和最後一個子節點。
someNode.firstChild=someNode.childNodes[0],
someNode.lastChild=someNode.childNodes[someNode.childNodes.length-1]。
hasChildNodes()方法判斷是否存在子節點,存在返回true。
每個節點都有一個屬性owerDocument,該屬性指向整個文件的文件節點,如#document。
操作節點方法


appendChild()接收一個引數,在末尾插入節點;
insertBefore(要插入的節點,參照節點),接受兩個引數,在參照節點前插入要插入的節點;
replaceChild(要插入的節點,被替換的節點),接受兩個引數。被替換的節點還在文件之內,但沒有他的位置。
removeChild(),接收一個引數,要刪除的節點。同上,被刪除的節點還在文件之內,但沒有他的位置。
normalize() 處理文字節點,在某個節點上呼叫這個方法,就會合並該節點子文字節點,並且刪除空格文字節點。