This method greatly improves the performance of innerHTML on Firefox and Safari. ReplaceHtml () in Firefox2.0.0.6, destroy and replace are both 473 times faster and 50 times faster. In Safari3.0.3beta, It is create100 times and replace50times.
The Code is as follows:
Function replaceHtml (el, html ){
Var oldEl = typeof el = "string "? Document. getElementById (el): el;
/* @ Cc_on // The original innerHTML has better performance in IE
OldEl. innerHTML = html;
Return oldEl;
@*/
Var newEl = oldEl. cloneNode (false );
NewEl. innerHTML = html;
OldEl. parentNode. replaceChild (newEl, oldEl );
/* If we remove the old element from the DOM, a new element reference is returned. */
Return newEl;
};
The performance of Opera is still improved, but the increase is not as amazing as the two browsers mentioned above,
Only in IE, the original innerHTML method is more efficient.