replaceHtml

JAVASCRIPT:
  1.  
  2. /* This is much faster than using (el.innerHTML = str) when there are many
  3. existing descendants, because in some browsers, innerHTML spends much longer
  4. removing existing elements than it does creating new ones. */
  5. function replaceHtml (el, html ) {
  6.         var oldEl = ( typeof el === "string" ? document. getElementById (el ) : el );
  7.         var newEl = document. createElement (oldEl. nodeName );
  8.         // Preserve the element's id and class (other properties are lost)
  9.         newEl. id = oldEl. id;
  10.         newEl. className = oldEl. className;
  11.         // Replace the old with the new
  12.         newEl. innerHTML = html;
  13.         oldEl. parentNode. replaceChild (newEl, oldEl );
  14.         /* Since we just removed the old element from the DOM, return a reference
  15.         to the new element, which can be used to restore variable references. */
  16.         return newEl;
  17. };
  18.  

another way:


function replaceHtml(el, html) {
var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
/*@cc_on // Pure innerHTML is slightly faster in IE
oldEl.innerHTML = html;
return oldEl;
@*/
var newEl = oldEl.cloneNode(false);
newEl.innerHTML = html;
oldEl.parentNode.replaceChild(newEl, oldEl);
/* Since we just removed the old element from the DOM, return a reference
to the new element, which can be used to restore variable references. */

return newEl;
};

你可能感兴趣的:(JavaScript,html,IE)