如何打印保存CSS的div内容

时间:2012-12-30 18:15:41

标签: jquery css html printing

我想打印div内容,同时保持css应用于div和内部html。

使用jQuery打印元素,但它剥离了css。

4 个答案:

答案 0 :(得分: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() }

}

答案 1 :(得分:4)

https://github.com/jasonday/printThis

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

答案 2 :(得分:0)

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

var myDivContents = $("div").html();

答案 3 :(得分:0)

您可以使用

访问div的所有内容
var $contents = $( 'div' ).contents();

这包括所有标签和文本。

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

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

这将以字符串形式提供内容。

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

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

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

如果没有应用某些样式,可能它们依赖于包裹元素及其类,这是很重要的事情。