通過 Dom 方法提高 innerHTML 性能
更新時間:2008年03月26日 23:07:21 作者:
此方法大大提高了 innerHTML 在 Firefox 和 Safari 上的性能。replaceHtml() 在 Firefox 2.0.0.6 里 destroy 與 replace 的速度各快了 473 倍以及 50 倍。而在 Safari 3.0.3 beta 上則是 create 100 倍,replace 50 倍。
復(fù)制代碼 代碼如下:
function replaceHtml(el, html) {
var oldEl = typeof el === "string" ? document.getElementById(el) : el;
/*@cc_on // 原始的 innerHTML 在 IE 中的性能好一點
oldEl.innerHTML = html;
return oldEl;
@*/
var newEl = oldEl.cloneNode(false);
newEl.innerHTML = html;
oldEl.parentNode.replaceChild(newEl, oldEl);
/* 一旦我們從 DOM 上移除老的元素,則返回新的元素引用。*/
return newEl;
};
對于 Opera 也依然有性能提高,只是提高幅度沒有上面兩種瀏覽器驚人而已,
唯在 IE 中,則原始的 innerHTML 的方法更效率點。
相關(guān)文章
使用clipboard.js實現(xiàn)復(fù)制功能的示例代碼
本篇文章主要介紹了使用clipboard.js實現(xiàn)復(fù)制功能的示例代碼,詳細(xì)介紹了clipboard.js插件的使用,有興趣的可以了解一下2017-10-10JavaScript數(shù)據(jù)結(jié)構(gòu)中串的表示與應(yīng)用實例
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)中串的表示與應(yīng)用,結(jié)合實例形式簡單分析了基于javascript順序操作實現(xiàn)串結(jié)構(gòu)與串的拼接操作相關(guān)技巧,需要的朋友可以參考下2017-04-04用Javascript做flash做的事..才完成的一個類.Auntion Action var 0.1
用Javascript做flash做的事..才完成的一個類.Auntion Action var 0.1...2007-02-02