我如何在jquery中打印元素?

时间:2016-06-19 10:48:07

标签: javascript jquery

var $print_layout;
$print_layout += '<div class="main_print">';
for($i=0;$i<=totalTokenNumer;$i++){
    $print_layout += '<div class="print_block">';
    $print_layout += $randomText[$i];
    $print_layout += '</div>';
}
$print_layout += '</div>';
var originalContents = document.body.innerHTML;
document.body.innerHTML = $print_layout;
window.print();
document.body.innerHTML = originalContents;

这是我在某些设计中打印随机文本的代码。但是我想直接打印$print_layout变量,下面的代码是可能的吗?

var originalContents = document.body.innerHTML;
document.body.innerHTML = $print_layout;
window.print();
document.body.innerHTML = originalContents;

如果是,我该如何打印呢。

2 个答案:

答案 0 :(得分:1)

我假设您要打开打印对话框,其中包含从您的功能生成的文本,而不会更改正在查看的页面的外观。在这种情况下, 创建一个iframe,将iframe内容设置为您的函数结果,然后在iframe的窗口中调用print。

答案 1 :(得分:0)

您可以使用Stream媒体查询

控制打印预览中页面的哪些部分可见

working example with textarea contents

example using a variant of your object to be printed

<强> HTML

@media print

<强> JS

<div id="page">


<p>
click the button to print whatever is in the textbox. 
</p>
<textarea id="print-contents">
  this content will be printed

</textarea>
<p>
<button id="print-button">print</button>
</p>

</div>

<div id='print-view'>
xcvxvcxvc
</div>

<强> CSS

var printButton  = document.getElementById('print-button');
var printView = document.getElementById('print-view');
var printContents = document.getElementById('print-contents');

printButton.addEventListener('click', function(){
var toPrint = printContents.innerHTML;

printView.innerHTML = toPrint;
window.print();
});