|
復(fù)制代碼 代碼如下:
function html2node(s) {
var d = document.createElement('div');
d.innerHTML = s;
if (d.childNodes.length == 1)
return d.childNodes[0];
var df = document.createDocumentFragment();
while (d.firstChild)
df.appendChild(d.firstChild);
return df;
}
大概的原理都明白,比較困惑的是為什么要用 document.createDocumentFragment 呢?
后來(lái)在網(wǎng)上搜索了一下相關(guān)資源才知道,document.createDocumentFragment 是用來(lái)創(chuàng)建文檔碎片的。
當(dāng)我們需要大量 appendChild 頁(yè)面元素時(shí),可以先將這些元素 appendChild 進(jìn)document.createDocumentFragment。
然后只需 appendChild 文檔碎片到頁(yè)面就可以了。這樣就不用多次刷新頁(yè)面達(dá)到性能優(yōu)化的目的。上面那個(gè)代碼我覺(jué)得用到文檔碎片是多余的。
JavaScript技術(shù):初識(shí)javascript 文檔碎片,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。