这里我的要求是选择必须显示的列,其他需要隐藏。所以我在数组中获取未选择的列ID并循环遍历该数组以隐藏内容,但它无法正常工作。请找一个更好的解决方案。
for(var z=0;z<col_compared.length-1;z++)
{
$('#My_online_Rep_Table thead tr').find('th:eq('+col_compared[z]+')').hide();
$('#My_online_Rep_Table tbody tr').find('td:eq('+col_compared[z]+')').hide();
}
col_compared[]
是需要隐藏的列ID数组。
答案 0 :(得分:1)
如果您的for
错误,如果只有一个项目,那么循环将不会执行,否则最后一项将无法执行
数组索引从0开始到长度为1,因为您正在检查z < col_compared.length - 1
是否要离开数组中的最后一项。
var $body = $('#My_online_Rep_Table tbody tr'),
$header = $('#My_online_Rep_Table thead tr');
for (var z = 0; z < col_compared.length; z++) {
$header.find('th:eq(' + col_compared[z] + ')').hide();
$body.find('td:eq(' + col_compared[z] + ')').hide();
}
答案 1 :(得分:0)
如果你想删除一个特殊元素或div任何dom元素,你可以使用这个方法
$("#div1").destroy();
这是具有id = div1
的删除元素对于你的情况,你可以在for循环中使用它;
$('#My_online_Rep_Table thead tr').find('th:eq('+col_compared[z]+')').destroy()
答案 2 :(得分:0)
尝试这样的事情
for(var z=0;z<col_compared.length-1;z++)
{
$('#My_online_Rep_Table thead tr th').eq(col_compared[z]).hide();
$('#My_online_Rep_Table tbody tr td').eq(col_compared[z]).hide();
}