我使用Jquery函数printarea
来打印页面的一部分(表的某些列)。
如果我将选择器类放在我需要打印的两列中,就像这样:
<tr>
<td class="printarea">content1</td>
<td class="printarea">content2</td>
<td>content3</td>
</tr>
该函数将在一行中打印每列:
content 1
content 2
如果我将选择器类放到tr
而不是像这样:
<tr class="printarea">
它打印一行中的每一列:
content 1 content 2 content 3
我需要的是在一行中打印两个第一列:
content 1 content 2
有谁知道如何实现这个目标?
答案 0 :(得分:1)
首先隐藏表中的所有行,然后在jquery中使用:lt
选择器仅在行中显示两列。它在下面的上下文中显示前两列
$("table tr td").hide();
$("table tr td:lt(2)").show();
答案 1 :(得分:1)
这样可行,使用Colgroups,不需要使用jquery,是否有特定原因需要JS / Jquery?
.printable{background-color:red;}
.notprintable{background-color:yellow;}
@media print{
.notprintable{display:none}
}
&#13;
<table>
<colgroup>
<col span="2" class="printable">
<col class="notprintable">
</colgroup>
<thead><tr><th>print 1 head</th><th>print 2 head</th><th>none print head</th></tr></thead><tbody><tr><td> print</td><td>print</td><td> no print</td></tr><tr><td> print</td><td>print</td><td> no print</td></tr><tr><td> print</td><td>print</td><td> no print</td></tr></tbody><tfoot><tr><td> print</td><td>print</td><td> no print</td></tr></tfoot></table>
&#13;