[OK]をので、私はこのコードを持っている:CSS
HTML:
<body>
<div>...</div>
<table id="printthis">
<tr>
<td>...</td>
...
...
</tr>
</table>
<someOtherElementIdontNeed />
<div>...</div>
</body>
CSS:
@media print {
body *:not(.printable) {
display: none;
}
.printable {
position: absolute;
top: 0;
left: 0;
}
}
JS:(私はHTMLのどこかに持ってこれをトリガし(印刷する))
jQuery(document).ready(function(){
jQuery("#print").click(function(event){
jQuery("#printthis").addClass("printable");
jQuery("#printthis *").addClass("printable");
window.print();
});
});
基本的には、 <table>
の内容は、タグ内にない他のものを除いてすべて印刷されます。 jQuery.addClassを起動して、印刷可能なものとそうでないものを区別しました。
JSスクリプトが正常に動作しているようですが、クローム開発ツールを使用してチェックしました。私のCSSはちょうどそれらを認識していないようです。
:not()
セレクタが処理するように設計されているとはどういうことでしょうか?印刷がトリガされると、私は取得していますすべてが空白のページが...表示.printable
クラス
'jQueryの( "#プリント")(関数(イベント))をクリック{ のjQuery ( ":not(#printthis)")。addClass( 'dontprint'); window.print(); }); ' in css。 '。dontprin {display:none} 'このようにすることができます – guradio
印刷可能なクラスの中のすべての要素はまだ設定されていますdisplay:noneだからあなたは何も見ないのです。 – user3154108
@ user3154108、詳しく説明してください。私は彼らがそのルールから免除されていると思っています。 – Valkyrurr