innerHTML () é nativo e retorna o conteúdo de um nó DOM (por exemplo, I live inside a div.
outerHTML () não é, o que incluiria o nó DOM atual (por exemplo I live inside a div.
). Esta é uma versão jQuery capaz de fazer isso em cadeia.
$.fn.outerHTML = function()( // IE, Chrome & Safari will comply with the non-standard outerHTML, all others (FF) will have a fall-back for cloning return (!this.length) ? this : (this(0).outerHTML || ( function(el)( var div = document.createElement('div'); div.appendChild(el.cloneNode(true)); var contents = div.innerHTML; div = null; return contents; ))(this(0))); )