<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>FoxLing - 前端开发 &#187; innerHTML</title>
	<atom:link href="http://foxling.org/tag/innerhtml/feed/" rel="self" type="application/rss+xml" />
	<link>http://foxling.org</link>
	<description>我还在寻找方向</description>
	<lastBuildDate>Tue, 10 Apr 2012 16:48:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>通过 Dom 方法提高 innerHTML 性能，性能不升反降？</title>
		<link>http://foxling.org/js-ajax-dom/js-dom-innerhtml/</link>
		<comments>http://foxling.org/js-ajax-dom/js-dom-innerhtml/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 22:37:12 +0000</pubDate>
		<dc:creator>FoxLing</dc:creator>
				<category><![CDATA[JS/AJAX/DOM]]></category>
		<category><![CDATA[innerHTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[性能]]></category>

		<guid isPermaLink="false">http://wp.foxling.cn/as-flex-air/62/</guid>
		<description><![CDATA[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; }; 在怿飞的Blog上看到这篇文章，里面有提到“此方法大大提高了 innerHTML 在 Firefox 和 Safari 上的性能。replaceHtml() 在 Firefox 2.0.0.6 里 [...]]]></description>
			<content:encoded><![CDATA[<pre>
 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;
 };
</pre>
<p>在怿飞的Blog上看到这篇文章，里面有提到“此方法大大提高了 innerHTML 在 Firefox 和 Safari 上的性能。replaceHtml() 在 Firefox 2.0.0.6 里 destroy 与 replace 的速度各快了 473 倍以及 50 倍。而在 Safari 3.0.3 beta 上则是 create 100 倍，replace 50 倍。”</p>
<p>于是在FireFox3.05里测试了一下，循环50000次的结果，直接innerHTML是2000ms左右，而上面的函数需要3300ms左右，不知道是我的测试方法有误，还是新版的FireFox改善了innerHTML的性能~</p>
]]></content:encoded>
			<wfw:commentRss>http://foxling.org/js-ajax-dom/js-dom-innerhtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

