欢迎来到福编程网,本站提供各种互联网专业知识!

通过 Dom 方法提高 innerHTML 性能

发布时间:2008-03-26 作者: 来源:转载
此方法大大提高了innerHTML在Firefox和Safari上的性能。replaceHtml()在Firefox2.0.0.6里destroy与replace的速度各快了473倍以及50倍。而在Safari3.0.3beta上则是create100倍,replace50倍。
复制代码 代码如下:
functionreplaceHtml(el,html){
varoldEl=typeofel==="string"?document.getElementById(el):el;
/*@cc_on//原始的innerHTML在IE中的性能好一点
oldEl.innerHTML=html;
returnoldEl;
@*/
varnewEl=oldEl.cloneNode(false);
newEl.innerHTML=html;
oldEl.parentNode.replaceChild(newEl,oldEl);
/*一旦我们从DOM上移除老的元素,则返回新的元素引用。*/
returnnewEl;
};

对于Opera也依然有性能提高,只是提高幅度没有上面两种浏览器惊人而已,
唯在IE中,则原始的innerHTML的方法更效率点。

相关推荐