此方法是直接将outerHTML添加为HTMLElement的动态方法,可供直接调用。

if (document.body.__defineGetter__) {
   if (HTMLElement) {
          var element = HTMLElement.prototype;
          if (element.__defineGetter__) {
                 element.__defineGetter__("outerHTML",
                       function () {
                              var parent = this.parentNode;
                              var el = document.createElement(parent.tagName);
                              el.appendChild(this);
                              var shtml = el.innerHTML;
                              parent.appendChild(this);
                              return shtml;
                       }
                 );
          }
   }
}