如何在jQuery中隐藏表列?

und*_*ack 6 jquery row show-hide

我有一张包含很多列的表格.我想让用户选择要在表格中显示的列.这些选项将是复选框以及列名称.那么如何根据复选框隐藏/取消隐藏表格列?

隐藏(使用.hide())每行中的每个td都有效吗?也许我可以将复选框值指定给表中列的位置.所以第一个复选框意味着第一列,依此类推.然后递归地隐藏每行中'编号'的td.那会有用吗?

Rex*_*x M 14

尝试:

function hideColumn(columnIndex) {
    $('#mytable td:nth-child('+(columnIndex+1)+')').hide();
}
Run Code Online (Sandbox Code Playgroud)

这是一个非常基本的版本 - 它假设您的表不使用<TH>元素或具有可变列跨度,但基本概念就在那里.请注意,nth-child使用基于1的索引.我在最新阶段增加了1来弥补这一点.

  • @understack:如果将函数更改为`$('#mytable td:nth-​​child('+(columnIndex + 1)+'),#mytable th:nth-​​child('),它将与`<th>`一起使用+(columnIndex + 1)+ ')')隐藏();` (6认同)