2012-11-30 41 views
6

我有表数据,最后一列包含有关该数据操作的链接。当有人打印页面时,我希望最后一栏不可见。用于打印的CSS隐藏表列

我尝试了以下,它在屏幕上工作(没有看到最后一列,其余的列均匀分布以填充该空间)。

@media print { 
    table td:last-child {display:none} 
} 

但它不适用于打印:我没有看到列,但有空的地方。

+1

请发表您的标记。 – KatieK

回答

0

使用jQuery

$("element").click(function(){ 
    $("td:last-child").remove(); 
}); 

编辑: 那么也许visibility:collapse在CSS样式将有助于

+1

这将完全从DOM中删除它。我只是不想在纸上看到它。 – user1588241

+0

仍然没有工作 – user1588241

12

这个工作对我来说:

@media print { 
     table td:last-child {display:none} 
     table th:last-child {display:none} 
    } 
1

有可能被应用于更为通用的解决方案在许多不同的元素。与创建print.css文件:

.noprint { 
display: none; 
} 
0

Table Screen Shot

打印按钮代码

function PrintData() 
{ 
     var divToPrint1 = document.getElementById("editable"); 
     var divToPrint = divToPrint1; 
     divToPrint.border = 1; 
     divToPrint.cellSpacing = 0; 
     divToPrint.cellPadding = 2; 
     divToPrint.style.borderCollapse = 'collapse'; 

     newWin = window.open(); 
     newWin.document.write(getHeader()); 
     newWin.document.write("<h3 align='center'>Master Designation List </h3>"); 
     $('tr').children().eq(3).hide(); 
     $('table tr').find('td:eq(3)').hide(); 
     newWin.document.write(divToPrint.outerHTML); 
     newWin.print(); 
     $('tr').children().eq(3).show(); 
     $('table tr').find('td:eq(3)').show(); 
     newWin.close(); 
}