javascript - Jquery - 仅在 .stable 类的表中,隐藏第二个 td 没有 innerHTML 的所有行
问题描述
我有一个包含许多表格的 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 行
解决方案
为了选择所有具有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>
推荐阅读
- c# - UWP C#:IAsyncOperationWithProgress 的进度
- c++ - 1-4的乘法表
- sql - 雅典娜查询以匹配列数据中固定长度的字母数字字符
- python - 从python中的非python嵌套列表中提取数据(也许是json数据?)
- c# - 从不同的代码隐藏类访问变量
- html - 在 HTML 中使用 RTSP 流
- r - 如何将效果大小添加到 t 检验的 ggplot 条形图?(例如,Cohen 的 d 或 Hedges 的 g)
- python - 在不同条件下迭代时遇到问题
- node.js - 通过 REST API 上传/编码文件
- mongodb - 我们可以在 Jest 中结合两个预设 MongoDB 和 puppeteer 吗?