以下div的内容是动态导出的:即使用某个按钮动态地将表添加到此div。
我的问题是如何打印此div(window.print)的内容而不是页面中的其他内容
<div id="newdiv" name="newdiv"></div>
感谢。
答案 0 :(得分:7)
两个想法:
介绍打印样式表
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
除display: none
以外的每个元素newdiv
:
* { display: none } /* This should hide all elements */
div#newdiv { display: block } /* This should make newdiv visible again */
我现在无法测试,但我不明白为什么这不会起作用。
使用JavaScript将div
的内容复制到新创建的iframe
元素中并打印出来。
答案 1 :(得分:4)
聪明的思考Pekka,但在使用全局显示之后它不能像那样工作:没有你必须重新显示需要显示的每个元素,包括所有父元素。最好的方法是隐藏所有不应该打印的元素,好消息是你只需要隐藏父元素,其中的所有内容都将被隐藏。
顺便说一下,不需要额外的样式表,可以使用现有工作表中的块(它必须放在最后一页的末尾):
@media print{
.noprint{
display:none;
}
}
现在只需将容器设为noprint类就可以隐藏打印块。
答案 2 :(得分:0)
您最好的选择是创建特定媒体的样式表。