(function($) {
    var printAreaCount = 0;
    $.fn.printArea = function() {
        var ele = $(this);
        var idPrefix = "printArea_";
        removePrintArea(idPrefix + printAreaCount);
        printAreaCount++;
        var iframeId = idPrefix + printAreaCount;
        var iframeStyle = 'position:absolute;width:0px;height:0px;left:-500px;top:-500px;';
        iframe = document.createElement('IFRAME');
        $(iframe).attr({
            style: iframeStyle,
            id: iframeId
        });
        document.body.appendChild(iframe);
        var doc = iframe.contentWindow.document;
        $(document).find("link").filter(function() {
            return $(this).attr("rel").toLowerCase() == "stylesheet";
        }).each(
            function() {
                // 这里是在将网页中的所有css引入,即打印区域的css如果是link进来的,可以设置在网页的任何位置
                doc.write('<link type="text/css" rel="stylesheet" href="' + $(this).attr("href") + '" >');
            });
        doc.write($(ele).prop('outerHTML')); // 将待打印元素原封不动的引入
        doc.close();
        var frameWindow = iframe.contentWindow;
        frameWindow.close();
        frameWindow.focus();
        // 必须等待frame加载完成后再打印,否则可能在某些浏览器中打印不出东西。
        frameWindow.onload = function() {
          frameWindow.print();
        };
    }
    var removePrintArea = function(id) {
        $("iframe#" + id).remove();
    };
})(jQuery);