2

我想打印 div 内容,同时将 css 应用于 div 及其内部 html。

我正在使用 jQuery Print Element,但它剥离了 css。

4

4 回答 4

7

怎么样

function printDiv(id) {

  var html = "";

  $('link').each(function() { // find all <link tags that have
    if ($(this).attr('rel').indexOf('stylesheet') !=-1) { // rel="stylesheet"
      html += '<link rel="stylesheet" href="'+$(this).attr("href")+'" />';
    }
  });
  html += '<body onload="window.focus(); window.print()">+$("#"+id).html()+'</body>';
  var w = window.open("","print");
  if (w) { w.document.write(html); w.document.close() }

}
于 2012-12-30T18:29:56.607 回答
4

https://github.com/jasonday/printThis

我为这个确切的场景创作的插件。

于 2013-03-10T23:46:05.410 回答
0

使用 .html() 方法。它将抓取所选元素内的所有 HTML。

var myDivContents = $("div").html();
于 2012-12-30T22:11:05.760 回答
0

您可以访问 div 的所有内容

var $contents = $( 'div' ).contents();

这包括所有标签和文本。

如果您只对可以使用的代码感兴趣

var htmlContents = $( 'div' ).html();

这将为您提供字符串形式的内容。

要打印出代码,只需将其插入另一个元素

$( 'div.new' ).append( $contents );

$( 'div.new' ).html( htmlContents );

如果某些样式未应用,可能它们依赖于包装元素及其类,这是需要了解的重要事项。

于 2012-12-30T22:21:28.087 回答