我有一张这样的 table 。这是一个很大的问题,我已经将其简化为这样。使用 jQuery,我想检查成员资格列是否包含“-”。如果是,我想完全删除该行。可以吗?
我尝试过 $("td > tr, #membertable").each(function() {
但我只得到一个元素。
<table id="membertable">
<thread>
<tr>
<th>
Name
</th>
</tr>
<tr>
<th>
Membership
</th>
</tr>
</thread>
<tbody>
<tr>
<td>
Ajay
</td>
<td>
-
</td>
</tr>
<tr>
<td>
Simon
</td>
<td>
Premium
</td>
</tr>
<tbody>
</table>
最佳答案
您可以使用 jQuery 选择器 'td:nth-child(2):contains(-)'
- 查找全部 2nd child td
元素 contain -
作为其文本。然后您可以删除 td
元素的父元素。
示例:
$('td:nth-child(2):contains(-)').parent().remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="membertable">
<thread>
<tr>
<th>
Name
</th>
</tr>
<tr>
<th>
Membership
</th>
</tr>
</thread>
<tbody>
<tr>
<td>
Ajay
</td>
<td>
-
</td>
</tr>
<tr>
<td>
Simon
</td>
<td>
Premium
</td>
</tr>
<tbody>
</table>
要反转选择(不包含),您可以使用 :not
选择器包装 :contains
- td:nth-child(2):not( :包含(-))
。
$('td:nth-child(2):not(:contains(-))').parent().remove();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="membertable">
<thread>
<tr>
<th>
Name
</th>
</tr>
<tr>
<th>
Membership
</th>
</tr>
</thread>
<tbody>
<tr>
<td>
Ajay
</td>
<td>
-
</td>
</tr>
<tr>
<td>
Simon
</td>
<td>
Premium
</td>
</tr>
<tbody>
</table>
关于javascript - 如何使用 jQuery 循环遍历表并查找元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59002337/