如何在jQuery PrintArea中传递自定义html标记

时间:2014-11-19 11:06:37

标签: javascript jquery html

我使用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

有谁知道如何实现这个目标?

2 个答案:

答案 0 :(得分:1)

首先隐藏表中的所有行,然后在jquery中使用:lt选择器仅在行中显示两列。它在下面的上下文中显示前两列

$("table tr td").hide();
$("table tr td:lt(2)").show();

FIDDLE

答案 1 :(得分:1)

这样可行,使用Colgroups,不需要使用jquery,是否有特定原因需要JS / Jquery?

&#13;
&#13;
.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;
&#13;
&#13;