使用 Jquery 打印 div 内容

新手上路,请多包涵

我想使用 jQuery 打印 div 的内容。这个问题已经在 SO 中提出,但我找不到正确的(工作)答案。

这是我的 HTML:

<div id='printarea'>
    <p>This is a sample text for printing purpose.</p>
    <input type='button' id='btn' value='Print'>
</div>
<p>Do not print.</p>

这里我想打印 div printarea 的内容。

我试过这个:

$("#btn").click(function () {
    $("#printarea").print();
});

但是单击按钮时会出现控制台错误:

未捕获的类型错误:$(…).print 不是函数

但是当我尝试使用打印整个页面时

window.print();

这是工作。但我只想打印特定 div 的内容。我看到了答案 $("#printarea").print(); 在很多地方,但这不起作用。

原文由 Deepu Sasidharan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

一些 jQuery 研究失败了,所以我转向 JavaScript(感谢您的建议 Anders )。

它运行良好……

HTML

 <div id='DivIdToPrint'>
 <p>This is a sample text for printing purpose.</p>
 </div>
 <p>Do not print.</p>
 <input type='button' id='btn' value='Print' onclick='printDiv();'>

JavaScript

 function printDiv()
 {

 var divToPrint=document.getElementById('DivIdToPrint');

 var newWin=window.open('','Print-Window');

 newWin.document.open();

 newWin.document.write('<html><body onload="window.print()">'+divToPrint.innerHTML+'</body></html>');

 newWin.document.close();

 setTimeout(function(){newWin.close();},10);

 }

原文由 Deepu Sasidharan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏