通過 Dom 方法提高 innerHTML 性能
更新時(shí)間: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 中的性能好一點(diǎn)
oldEl.innerHTML = html;
return oldEl;
@*/
var newEl = oldEl.cloneNode(false);
newEl.innerHTML = html;
oldEl.parentNode.replaceChild(newEl, oldEl);
/* 一旦我們從 DOM 上移除老的元素,則返回新的元素引用。*/
return newEl;
};
對于 Opera 也依然有性能提高,只是提高幅度沒有上面兩種瀏覽器驚人而已,
唯在 IE 中,則原始的 innerHTML 的方法更效率點(diǎn)。
相關(guān)文章
JS監(jiān)聽和響應(yīng)DOM元素的變化的方法
在前端開發(fā)中,處理動(dòng)態(tài)變化的 DOM(文檔對象模型)很是常見的需求,比如自動(dòng)化測試中,可能需要監(jiān)控 DOM 變化來驗(yàn)證測試條件,在用戶填寫表單時(shí),某些字段需要即時(shí)驗(yàn)證等,所以本文給大家介紹了JS監(jiān)聽和響應(yīng)DOM元素的變化的方法,需要的朋友可以參考下2024-09-09
JavaScript使用replace函數(shù)替換字符串的方法
這篇文章主要介紹了JavaScript使用replace函數(shù)替換字符串的方法,涉及javascript中replace函數(shù)的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04
IE 上下滾動(dòng)展示模仿Marquee機(jī)制
最近要做一個(gè)大屏幕展示上下滾動(dòng)的列表,而IE自帶的Marquee,無法滿足需要,隨自己寫了一個(gè)滾動(dòng)機(jī)制,代碼在附件中2009-12-12
js如何計(jì)算斐波那契數(shù)列第n項(xiàng)的值
這篇文章主要介紹了js如何計(jì)算斐波那契數(shù)列第n項(xiàng)的值問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
JavaScript實(shí)現(xiàn)移動(dòng)端橫豎屏檢測
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)移動(dòng)端橫豎屏檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
淺談javascript 函數(shù)表達(dá)式和函數(shù)聲明的區(qū)別
javascript中聲明函數(shù)的方法有兩種:函數(shù)聲明式和函數(shù)表達(dá)式.究竟他們用起來有什么區(qū)別呢,今天就本著打破砂鍋問到底的精神,好好來說說這個(gè)讓人神魂顛倒的--函數(shù)聲明。2016-01-01
微信小程序獲取復(fù)選框全選反選選中的值(實(shí)例代碼)
這篇文章主要介紹了微信小程序獲取復(fù)選框全選反選選中的值,本文通過實(shí)例代碼給大家簡單介紹,需要的朋友可以參考下2019-12-12
JS實(shí)現(xiàn)簡單的右下角彈出提示窗口完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的右下角彈出提示窗口的方法,可實(shí)現(xiàn)點(diǎn)擊連接右下角彈出提示框的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06

