打印div的内容

时间:2010-04-03 19:40:10

标签: javascript html printing

以下div的内容是动态导出的:即使用某个按钮动态地将表添加到此div。

我的问题是如何打印此div(window.print)的内容而不是页面中的其他内容

<div id="newdiv" name="newdiv"></div>

感谢。

3 个答案:

答案 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元素中并打印出来。

    但是,路上有很多障碍物。我先尝试使用CSS。

答案 1 :(得分:4)

聪明的思考Pekka,但在使用全局显示之后它不能像那样工作:没有你必须重新显示需要显示的每个元素,包括所有父元素。最好的方法是隐藏所有不应该打印的元素,好消息是你只需要隐藏父元素,其中的所有内容都将被隐藏。

顺便说一下,不需要额外的样式表,可以使用现有工作表中的块(它必须放在最后一页的末尾):

@media print{
    .noprint{
        display:none;
    }
}

现在只需将容器设为noprint类就可以隐藏打印块。

答案 2 :(得分:0)

您最好的选择是创建特定媒体的样式表。

http://www.alistapart.com/articles/goingtoprint/