打印页面时不出现动态创建的元素

sup*_*ize 0 html printing jquery

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

<body>
<a href="#" id="trigger">test</a>
    <a href="javascript:window.print()">print</a>
</body>
Run Code Online (Sandbox Code Playgroud)

jQuery:

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

CSS:

#test { 
    position: absolute; 
    left: 50px; 
    top: 100px; 
    width: 500px; 
    height: 25px; 
    background-color: #F00; 
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我创建了一个print按钮并希望打印出该#test元素。不幸的是,该表只有两个按钮。好像不能打印出动态元素。

任何帮助深表感谢。

JJJ*_*JJJ 5

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

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