js創(chuàng)建dom節(jié)點和優(yōu)化

先列舉常用的幾種方式:

createElement() 創(chuàng)建一個元素節(jié)點 => 接收參數(shù)為string類型的nodename

createTextNode() 創(chuàng)建一個文本節(jié)點 => 接收參數(shù)為string類型的text內(nèi)容

createAttribute() 創(chuàng)建一個屬性節(jié)點 => 接收參數(shù)為string類型的屬性名稱

createComment() 創(chuàng)建一個注釋節(jié)點 => 接收參數(shù)為string類型的注釋文本

除了這幾個,還有一個常常會被我們忽略createDocumentFragment方法,它是用來創(chuàng)建虛擬的節(jié)點對象,或者說是碎片節(jié)點。

createDocumentFragment

DocumentFragment節(jié)點不屬于節(jié)點樹,繼承的parentNode屬性總是null,當(dāng)我們要把DocumentFragment節(jié)點插入文檔樹時,插入不是他本身,而是他所有的子孫節(jié)點。

createDocumentFragment帶來的性能優(yōu)化

當(dāng)需要添加多個dom元素時,如果先將這些元素添加到DocumentFragment中,再統(tǒng)一將DocumentFragment添加到頁面,會減少頁面渲染dom的次數(shù),效率會明顯提升。

還有一個很重要的特性是,如果使用appendChid方法將原dom樹中的節(jié)點添加到DocumentFragment中時,會刪除原來的節(jié)點。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容