Print html of a html element

by Alessandro Lettieri

HTML

<div>
  Div 1
</div>
<div id="div2" style="display:none;">
  Div 2
</div>
<button onclick="$('#div2').print();">
Print html of hidden div 2
</button>

JavaScript

$.fn.extend({
	print: function() {
		var frameName = 'printIframe';
		var doc = window.frames[frameName];
		if (!doc) {
			$('<iframe>').hide().attr('name', frameName).appendTo(document.body);
			doc = window.frames[frameName];
		}
		doc.document.body.innerHTML = this.html();
		doc.window.print();
		return this;
	}
});