【发布时间】:2017-01-03 01:14:37
【问题描述】:
我有一个页面,我在其中动态尝试根据类 tdHideShow 的 td 中的值隐藏类 exception_table 表中的列。
如果该值不等于用户选择的值strDMM,我想从下拉列表中隐藏td,从而隐藏我表的该列。我的 else 语法中的某些内容无法正常工作,td 没有被隐藏。
$('.exception_table',this).each(function(ind,obj){
if(!($('tr td.tdHideShow',this).hasClass(strDMM))){
$(this).hide();
}
else{
count++;
}
$('tr td.tdHideShow',this).each(function(ind,obj){
if(!($(this).hasClass(strDMM))){
//trying to hide the column if it is missing the class I am looking for
}
});
});
if(count==0){
$(this).parent.hide();
}
});
这是我的示例 html。我想要任何没有 Bob 类的表,并隐藏不是 Bob 的列。我在任何表中隐藏了没有 Bob 的 div,隐藏了根本没有 Bob 的表。我需要隐藏第一个 div 中的表列,第一个表包含比利。 html 是动态的并且会发生变化,用户会根据 DMM 名称进行过滤。
<div class="East">
<table class="exception_table">
<tr>
<td>DMM NAME</td>
<td class="tdHideShow Bob">Bob</td>
<td class="tdHideShow Bob">Bob</td>
<td class= "tdHideShow Billy">Billy</td>
</tr>
<tr>
<td>Sales</td>
<td>$1</td>
<td>$5</td>
<td>$10</td>
</tr>
<tr>
<td>Tenure</td>
<td>2 years</td>
<td>2 years</td>
<td>1 year</td>
</tr>
</table>
<table class="exception_table">
<tr>
<td>DMM NAME</td>
<td class="tdHideShow Paul">Pal</td>
<td class="tdHideShow Doug">Doug</td>
<td class= "tdHideShow Joe">Joe</td>
</tr>
<tr>
<td>Sales</td>
<td>$5</td>
<td>$6</td>
<td>$70</td>
</tr>
<tr>
<td>Tenure</td>
<td>7 years</td>
<td>9 years</td>
<td>2 years </td>
</tr>
</table>
<table class="exception_table">
<tr>
<td>DMM NAME</td>
<td class="tdHideShow Tim">Tim</td>
<td class="tdHideShow Tim">Tim</td>
<td class= "tdHideShow Tim">Tim</td>
</tr>
<tr>
<td>Sales</td>
<td>$1</td>
<td>$5</td>
<td>$10</td>
</tr>
<tr>
<td>Tenure</td>
<td>1 years</td>
<td>1 years</td>
<td>1 years</td>
</tr>
</table>
</div>
</html>
【问题讨论】:
-
提供一些相关的html会更容易理解
-
$('obj.eq("+ind2+")').toggle();的语法显然是错误的,但不清楚意图是什么,逻辑似乎没有意义。再次回到需要minimal reproducible example -
谢谢,我已经验证了 snytax 现在是正确的,除了隐藏包含 td 类 tdHideShow 的列以及与我正在寻找的字符串匹配的类之外,一切都运行良好。我已经更新了我的代码并将添加一个 html 示例。
-
提供 html 更容易...
标签: jquery