1

是否可以为不同的媒体(例如打印和屏幕)设置不同的 jquery 显示和隐藏属性?

假设我有 2 个 div 和一个按钮,用于显示和隐藏一个 div 并显示另一个。但是当我点击打印时,我想展示它们。尽管如此,如果我在 css 中定义打印它是 display:inline; 当前隐藏的块隐藏在打印中。我该如何解决这个问题?谢谢多里扬

这是示例:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<style type="text/css">
@media print{
    #div1{
        display:block;
    }

    #div2{
        display:block;
    }
}
</style>

<div id="div1">Div1</div>
<div id="div2">Div2</div>
<a href="#" onclick="$('#div1').hide();$('#div2').show();">Showdiv1</a>
<a href="#" onclick="$('#div2').hide();$('#div1').show();">Showdiv1</a>
4

2 回答 2

1

将一个类添加到您的可见元素,例如.visible. 比做这样的事情:

@media print {
    .visible {display:block}
}

更新

在您更新问题后,我会说您需要使用!important-declaration ...

@media print{
    #div1, #div2{
        display:block !important;
    }
}

演示只是隐藏一个 div 并尝试打印!

于 2012-09-16T13:31:42.160 回答
0

这是 主题,如何从 html 页面打印表格(div 等)。我认为它更好的解决方案

于 2012-09-16T13:31:47.130 回答