Tutorial outerHTML jQuery Plugin
innerHTML() is native and returns the contents of a DOM node (e.g. <span>I live inside a div.</span>
. outerHTML() is not, which would include the current DOM node (e.g. <div><span>I live inside a div.</span></div>
). This is a chain-able jQuery version of doing that.
$.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]));
}