1 節(jié)點(元素)的創(chuàng)建、添加、刪除、替換、克隆
1.1 創(chuàng)建元素節(jié)點
新創(chuàng)建的元素需添加至DOM結構中,頁面上才能渲染出來。
document.createElement('標簽名'); //返回新創(chuàng)建的元素對象
1.2 添加子節(jié)點
① 在最后添加子節(jié)點
父元素.appendChild(新的子元素);
② 指定位置添加子節(jié)點
父元素.insertBefore(新的子元素, 舊的子元素); //新的子元素插入到舊的子元素之前
1.3 刪除子節(jié)點
父元素.removeChild(要刪除的元素);
1.4 替換子節(jié)點
父元素.replaceChild(新的子元素,舊的子元素); //新的替換掉舊的
1.5 克隆節(jié)點
//方法返回克隆好的元素,參數默認為false(淺克?。褐豢寺≡乇旧恚硪粎禐閠rue(深度克?。涸丶捌浜蟠臀谋緝热荻伎梢员豢寺。?元素.cloneNode();
2 document對象
屬性:
document.all 獲取文檔中所有的元素,只讀
document.body 獲取body元素,只讀
document.documentElement 獲取html元素,只讀
document.lastModified 獲取文檔的最后一次修改時間,只讀
document.title 讀寫頁面標題,可讀可寫
方法:
document.write() 輸出內容到頁面
document.getElementById() 通過ID名獲取元素
document.getElementsByTagname() 通過標簽名獲取元素
document.getElementsByClassname() 通過類名獲取元素
document.getElementsByName() 通過name屬性值獲取元素
document.querySelector() 通過選擇器獲取第一個滿足條件的元素
document.querySelectorAll() 通過選擇器獲取所有滿足條件的元素
document.creatElement() 創(chuàng)建一個元素節(jié)點
document.appendChild() 給document追加一個子元素
document.insertBefore() 在給document中的指定位置添加一個子元素
document.removeChild() 刪除document中的指定子元素
document.replaceChild() 替換document中的指定子元素
document.cloneNode() 克隆一個document節(jié)點
3 documentFragment對象
3.1 創(chuàng)建documentFragment 對象
document.createDocumentFragment(); //返回一個 documentFragment 類型的對象
3.2 documentFragment 對象的特點
1)documentFragment 也是一類節(jié)點, nodeType 是 11,它并不是元素,通常作為其他節(jié)點的一個臨時的容器。
2)可以給 documentFragment 對象添加子節(jié)點,documentFragment 節(jié)點也可以作為其他節(jié)點(元素)的子節(jié)點。
3)documentFragment 不是真實 DOM 樹的一部分,它的變化不會觸發(fā) DOM 樹的重新渲染,且不會導致性能等問題。
5.3 documentFragment 對象的應用
1)如果連續(xù)給一個元素添加多個子元素,可以先把子元素添加到 documentFragment 對象中,最后把 documentFragment 對象添加到父元素中,減少瀏覽器渲染次數。
2)利用 documentFragment 實現對一組元素進行倒序排列。