我可以像这样隐藏jquery中的特定列吗?

时间:2010-05-12 18:39:14

标签: jquery

我这样在网格中隐藏整个列?

$('#Grid tr th').each(function(column) {
     if ($(this).is('#div.id')) {
            hide();
     }
});

我可以这样做吗?

3 个答案:

答案 0 :(得分:3)

我认为你需要做类似的事情:

$('#Grid tr').each(function() {
         $(this).find('td:eq(0)').hide();
});

其中eq()中的数字是列数索引(从零开始)。您也可以使用:first或:last而不是:eq()。

您也可以使用这种方法:
对于第一列:

$("#Grid td:first-child").hide();

对于nth-child()中索引为1(!)的任何列:

$("#Grid td:nth-child(1)").hide();

为最后一栏:

$("#Grid td:last-child").hide();

要隐藏thead中的标题,您可以使用逗号分隔的选择器:

$("#Grid tbody td:nth-child(2), #Grid thead th:nth-child(2)").hide();

$("#Grid tbody td:nth-child(1)").hide();
$("#Grid thead th:nth-child(1)").hide();

或第一种方法:

$('#Grid tr').each(function() {
         $(this).find('td:eq(0), th:eq(0)').hide();
});

请参阅更新的示例: http://www.alexteg.se/stackoverflow/jquery_hide_table_column.html

答案 1 :(得分:1)

你可以这样做:

 $('#Grid tr th').each(function() {
            if ($(this).attr('id') == "#div") {
                $(this).hide();
            }
        });

您可能希望将#div替换为您正在使用的那个。

答案 2 :(得分:0)

  

让我们说我想要隐藏第17列。网格

 var colindex =16;

   $("#CP_Main_gvPOItems").find("th:nth-child(" + colindex + "), td:nth-child(" + colindex + ")").hide();