简体   繁体   English

如何使用jQuery打印div内容

[英]how to print the div contents using jquery

I am trying to print my contents, but the body does not contain the entire print contents which i am inserting. 我正在尝试打印内容,但是body没有包含我要插入的全部打印内容。 Seems to some sort of height issue. 似乎是某种height问题。

var printcontent=$("#printDiv").html();
var printdiv=document.createElement('div');
$(printdiv).html(printcontent);
$('body').before(printdiv);
$('body').css('visibility', 'hidden');
window.print();
$('body').css('visibility', 'visible');

if you want to print certain data I recommend set media using css like this 如果您要打印某些数据,我建议像这样使用css设置媒体

@media print {
    p {
        font-family: georgia, serif;
        font-size: 14px;
        color: blue;
    }
}

this will give you p content when you go for print. 当您进行打印时,这将为您提供p内容。 same you can do for your div element 您可以为div元素做的一样

CSS media query (print) is the right way to do it. CSS媒体查询(打印)是正确的方法。 You could also do something like the following in jQuery. 您也可以在jQuery中执行以下操作。 Bear in mind that you'd end up having an extra div around your body contents, but that may not be a problem I guess. 请记住,您的身体内容会增加一个div ,但是我想那可能不是问题。

var printcontent = $("#printDiv").html();
var printdiv = $('<div/>', { 'id': "print-layout"}).html(printcontent);

$('body').wrapInner("<div id='body-content'></div>");
$('#body-content').before(printdiv);
$('#body-content').css('visibility', 'hidden');

window.print();
setTimeout(function() {
    $('#print-layout').remove();
    $('#body-content').css('visibility', 'visible');
}, 0);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM