我有一个包含许多表的HTML文档。
我只想隐藏类 .stable
中的行该行的第二个td没有innerHTML。
表格的html示例
$("tr").not(":has(td:nth-child(2):not(:empty))").hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="stable">
<tr class="spec_tit"><th colspan="2">Resident Evil 7</th></tr>
<tr class="spec_cpu"><td class="tdr">CPU</td><td class="tdl">Intel Core i5 4460 @2.70GHz / AMD FX 6300</td></tr>
<tr class="spec_ram"><td class="tdr">RAM</td><td class="tdl">8GB</td></tr>
<tr class="spec_gra"><td class="tdr">Graphics</td><td class="tdl"><strong>2GB</strong>, nVidia GeForce GTX 760 / AMD Radeon R7 260x</td></tr>
<tr class="spec_sha"><td class="tdr">Shader Model</td><td class="tdl"></td></tr>
<tr class="spec_dis"><td class="tdr">Disk space</td><td class="tdl">24GB</td></tr>
<tr class="spec_aud"><td class="tdr">Audio</td><td class="tdl">DX 9.0c</td></tr>
<tr class="spec_per"><td class="tdr">Peripherals</td><td class="tdl"></td></tr>
<tr class="spec_os"><td class="tdr">OS</td><td class="tdl">Win7 x64, Win8 x64, Win8.1 x64, Win10 x64</td></tr>
<tr class="spec_dx"><td class="tdr">DX ver</td><td class="tdl">11</td></tr>
</table>
但是:
它在所有表上运行,与类无关
它包括具有单个th(没有td)的行,例如上面示例的第一行
正确的jquery在示例中将仅隐藏第5、7和8行
答案 0 :(得分:0)
要选择所有 stable 类的表,且表中的空白为2“ td,则选择器为:
$('table.stable td:nth-child(2):empty')
为了隐藏整个行,代码为:
$('table.stable td:nth-child(2):empty').closest('tr').hide()
有关更多详细信息,请参见:nth-child(),:empty和.closest()
$('table.stable td:nth-child(2):empty').closest('tr').hide()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="stable">
<tr class="spec_tit">
<th colspan="2">Resident Evil 7</th>
</tr>
<tr class="spec_cpu">
<td class="tdr">CPU</td>
<td class="tdl">Intel Core i5 4460 @2.70GHz / AMD FX 6300</td>
</tr>
<tr class="spec_ram">
<td class="tdr">RAM</td>
<td class="tdl">8GB</td>
</tr>
<tr class="spec_gra">
<td class="tdr">Graphics</td>
<td class="tdl"><strong>2GB</strong>, nVidia GeForce GTX 760 / AMD Radeon R7 260x</td>
</tr>
<tr class="spec_sha">
<td class="tdr">Shader Model</td>
<td class="tdl"></td>
</tr>
<tr class="spec_dis">
<td class="tdr">Disk space</td>
<td class="tdl">24GB</td>
</tr>
<tr class="spec_aud">
<td class="tdr">Audio</td>
<td class="tdl">DX 9.0c</td>
</tr>
<tr class="spec_per">
<td class="tdr">Peripherals</td>
<td class="tdl"></td>
</tr>
<tr class="spec_os">
<td class="tdr">OS</td>
<td class="tdl">Win7 x64, Win8 x64, Win8.1 x64, Win10 x64</td>
</tr>
<tr class="spec_dx">
<td class="tdr">DX ver</td>
<td class="tdl">11</td>
</tr>
</table>