jQuery Selectors删除满足两个条件的表行
jQuery Selectors Removing table rows that meet two conditions
我试图理解当您在jQuery中有一个仅在满足多个条件时才运行的操作时采用的技术。我不知道过滤器是不是答案。
在我的示例中,一个页面上有多个表。我想删除表中满足两个条件的行。第一个条件是行不能是表的第一行(table元素的第一个子元素)。第二个条件是该行不能应用任何样式(没有声明样式元素)。我对复杂选择器的符号感到困惑。我现在要超越简单的选择器。
在我的示例中,要使用的表被标记为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>
UPDATE:根据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删除行
相关文章:
- 基于两个条件退出While循环
- Jquery:当两个或多个条件为true时,选择一个元素
- Regex目标特定单词基于两个起始行条件
- 如何使用jQuery绕过具有指定类和两个条件的元素的函数
- 比较IF条件下的两个javascript数值
- 在if语句中检查这两个条件,即使第一个条件为false
- jQuery Tools Overlay-两个具有不同关闭条件的按钮
- 执行Jquery函数()的两个条件
- 在输入后,有条件地应用Angular中的两个类之一
- 单击编辑按钮时,如何根据另外两个文本框的条件隐藏或禁用单选按钮列表和文本框
- 如果选中两个复选框,则条件在 jQuery 中不起作用
- 如何在操作类中识别两个不同的 JSP 页面按钮?如何基于 JSP 页面视图按钮和查看全部按钮编写条件
- 如果在 JavaScript 中的 if 条件之后在执行块中使用两个等于而不是只有一个,会发生什么情况
- 获取具有两个条件的所有文本框值
- Javascript 正则表达式条件语句,当在字符串中检测到两个相同字符时
- if 语句 (jQuery) 中的两个条件
- 满足两个条件时的 jQuery 执行函数
- 两个条件 - 这将是第一个
- 创建一个新的数组,通过在jQuery中使用条件迭代来组合两个现有对象
- 具有两个条件的 while 循环仅检查一个