使用jQuery隐藏含N/A的表格单元格及对应表头的问题
问题解决:隐藏含"N/A"的单元格及对应表头
原代码的问题在于仅获取了第一个包含"N/A"的单元格的列索引,导致只能处理一列的情况。要实现多列的处理,需要收集所有目标列的索引并去重,再批量处理表头和对应列的单元格。
修改后的代码
jQuery(document).ready(function() { // 1. 收集所有包含"N/A"的单元格的列索引,用Set自动去重 var targetColumns = new Set(); jQuery('td:contains(N/A)').each(function() { var colIndex = jQuery(this).index(); targetColumns.add(colIndex); }); // 2. 遍历目标列索引,批量隐藏对应表头和整列单元格 targetColumns.forEach(function(index) { // 隐藏该列的表头 jQuery('table tr:first-child th:eq(' + index + ')').css('display', 'none'); // 隐藏该列所有单元格 jQuery('tr td:eq(' + index + ')').css('display', 'none'); }); });
代码说明
- 用
Set存储列索引,自动避免重复处理同一列 - 遍历所有含"N/A"的单元格,收集它们的列位置
- 循环处理每个目标列,同时隐藏表头和对应列的所有单元格(如果需求是仅隐藏有"N/A"的单元格,可保留原代码中
jQuery('td:contains(N/A)').css('display', 'none');,替换掉隐藏整列的逻辑)
内容的提问来源于stack exchange,提问作者One
相关产品推荐
相关产品推荐

