我有这个
<table>
<tr>
<td>...</td>
<td>...</td>
<td class="Data">...</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td class="noData">...</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td class="noData">...</td>
</tr>
</table>
使用jQuery,当一行(tr)有一个带有“noData”类的列(td)时,我想隐藏整个行,这个表上的结果将是
<table>
<tr>
<td>...</td>
<td>...</td>
<td class="Data">...</td>
</tr>
</table>
谢谢,
答案 0 :(得分:4)
您可以尝试以下代码:
$(document).ready(function()
{
$("td.noData").parent().hide("fast");
});
或者您可能希望在代码上方使用 remove()而不是 hide():
$(document).ready(function()
{
$("td.noData").parent().css('display':'none');
});
答案 1 :(得分:2)
虽然sarfraz的解决方案有效,但我认为这段代码更接近于问题描述,这对于可读性和后来的理解是一件好事。
$("tr:has(>td.noData)").hide();
答案 2 :(得分:1)
要获得包含没有数据的TD的tr的列表,只需调用:
$("tr:has(> td.noData)")
一旦你拥有它,隐藏它就变得微不足道了(只需在末尾添加.hide()
)。
相关选择器是Has选择器和parent>child选择器。