通过 Dom 方法提高 innerHTML 性能

复制代码 代码如下:

  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;

  };

  对于 Opera 也依然有性能提高,只是提高幅度没有上面两种浏览器惊人而已,

  唯在 IE 中,则原始的 innerHTML 的方法更效率点。