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> </td><td> </td>
<td> 0:0 </td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>123//</td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>/ 0:0</td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>0:0</td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>0:0/</td><td> </td>
</tr>
</table>
我正在尝试为 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> </td><td> </td>
<td> 0:0 </td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>123//</td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>/ 0:0</td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>0:0</td><td> </td>
</tr>
<tr>
<td> </td><td> </td>
<td>0:0/</td><td> </td>
</tr>
</table>