gpt4 book ai didi

javascript - jQuery 选择器删除满足两个条件的表行

转载 作者:行者123 更新时间:2023-12-03 05:53:51 25 4
gpt4 key购买 nike

我试图了解当您的操作仅在 jQuery 中满足多个条件时才运行时,会采用哪些技术。我不知道过滤器是否是答案。

在我的示例中,一个页面上有多个表。我想删除表中满足两个条件的行。第一个条件是该行不能是表的第一行(表元素的第一个子元素)。第二个条件是该行不得应用任何样式(未声明样式元素)。我对复杂选择器的表示法感到困惑。我现在正在尝试超越简单的选择器。

在我的示例中,要使用的表标记为 gvBigTable。我有以下内容:

$("#gvBigTable table tbody tr.not('style')").remove();
$("#gvBigTable table tbody tr.not(first-child)".remove();

我想组合这些条件,以便必须满足这两个条件才能删除该行。任何帮助表示赞赏。谢谢。

最佳答案

您没有正确使用:not()。您可以按照以下方式进行操作。

$("table tbody tr:not(':first-child'):not('[style]')").remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>111</td>
</tr>
<tr>
<td>222</td>
</tr>
<tr style="">
<td>333</td>
</tr>
<tr>
<td>444</td>
</tr>
</tbody>
</table>

更新:根据David Thomas的建议纯 CSS 解决方案如下。

table tbody tr:first-child ~ tr:not([style]) { 
display: none;
}
<table>
<tbody>
<tr>
<td>111</td>
</tr>
<tr>
<td>222</td>
</tr>
<tr style="">
<td>333</td>
</tr>
<tr>
<td>444</td>
</tr>
</tbody>
</table>

如果您不想使用 display: none 那么您可以使用选择器 table tbody tr:first-child ~ tr:not([style])使用 jQuery 删除行。

关于javascript - jQuery 选择器删除满足两个条件的表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40028545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com