jQuery 删除隐藏 table 行(如果基于行中两个单元格的内容)

jQuery to delete hide table row if based on contents of two cells within row

我正在尝试为 tampermonkey 编写一个脚本,它根据两个条件在 table 中隐藏一行。

条件一:第3列单元格不包含'/'

条件 2:第 3 列中的单元格确实包含“0:0”

我已经让条件 1 与以下条件一起工作 jQuery

$("td:nth-of-type(3):not(:contains('/'))").parent ().hide ();

条件 2

$("td:nth-of-type(3):contains('0:0')").parent ().hide ();

但我无法将它们组合起来,我尝试了以下方法:

$("[td:nth-of-type(3):contains('0:0')][td:nth-of-type(3):not(:contains('/'))]").parent ().hide ();

但运气不好。我怎样才能结合条件?我试图包含一个 if 语句,但也无法使其正常工作。

您的方向是正确的。继续链接 :contains:not(:contains(...)) 调用。

尝试下面的可运行示例,注意第 1 行和第 4 行是隐藏的。

$("td:nth-of-type(3):contains('0:0'):not(:contains('/'))").parent().hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table border="1">
<tr>
  <td>&nbsp;</td><td>&nbsp;</td>
  <td> 0:0 </td><td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td><td>&nbsp;</td>
  <td>123//</td><td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td><td>&nbsp;</td>
  <td>/ 0:0</td><td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td><td>&nbsp;</td>
  <td>0:0</td><td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td><td>&nbsp;</td>
  <td>0:0/</td><td>&nbsp;</td>
</tr>
</table>