打印页面时动态创建的元素不显示

时间:2013-08-08 08:49:24

标签: jquery html printing

我用jQuery动态创建了一些元素:

<body>
<a href="#" id="trigger">test</a>
    <a href="javascript:window.print()">print</a>
</body>

jQuery:

$(document).ready(function() {
    $('#trigger').click(function(e) {
        $('body').append('<div id="test"></div>');
    });
});

CSS:

#test { 
    position: absolute; 
    left: 50px; 
    top: 100px; 
    width: 500px; 
    height: 25px; 
    background-color: #F00; 
}

正如您所看到的,我创建了一个print按钮,并希望打印出#test元素。不幸的是,工作表只有两个按钮。看来你无法打印出动态元素。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

当您打印网页时,浏览器会自动忽略背景颜色(因为您通常不希望花费整个彩色墨盒来打印网页背景)。您生成的div是空的,它在页面上可见的唯一方式是因为它的背景颜色不同。

如果您向div添加内容,或者例如它也应该在打印输出中可见。