Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取表的所有tr元素并使用jquery进行筛选?_Jquery_Arrays_Filter_Rows - Fatal编程技术网

如何获取表的所有tr元素并使用jquery进行筛选?

如何获取表的所有tr元素并使用jquery进行筛选?,jquery,arrays,filter,rows,Jquery,Arrays,Filter,Rows,我试图获取一个表中的所有表行,然后根据它们是否有一个名为“hideGroup”的类来过滤它们。这是我到目前为止的代码,但它只是不断输出数字。获取表中的所有表行,然后检查它们是否有一个名为“hideGroup”的组,正确的方法是什么 $('search results table tr.hideGroup')将返回完整的集合 编辑: 如果确实希望行不包含类hideGroup,尽管显式地说检查它们是否有一个名为“hideGroup?”的组,这里有一个选择器: $(“#搜索结果表tr”).not(“.

我试图获取一个表中的所有表行,然后根据它们是否有一个名为“hideGroup”的类来过滤它们。这是我到目前为止的代码,但它只是不断输出数字。获取表中的所有表行,然后检查它们是否有一个名为“hideGroup”的组,正确的方法是什么

$('search results table tr.hideGroup')
将返回完整的集合

编辑: 如果确实希望行不包含类
hideGroup
,尽管显式地说
检查它们是否有一个名为“hideGroup?”
的组,这里有一个选择器:


$(“#搜索结果表tr”).not(“.hideGroup”)

要返回集合,请使用“hideGroup”类返回所有表行:

$('#search-results-table tr.hideGroup')
要筛选不具有“hideGroup”类的类,请使用:

$('#search-results-table tr:not(.hideGroup)')
$('#search-results-table tr.hideGroup');

你的问题不太清楚

如果要选择所有没有类的行,请使用
:not()

$('#search-results-table tr:not(.hideGroup)')
如果只想筛选具有该类的,请使用:

$('#search-results-table tr:not(.hideGroup)')
$('#search-results-table tr.hideGroup');

它将返回所有没有hideGroup类的表行。它返回数字的原因是因为
n
是索引(数字),而不是元素。因此
n.className
将始终是
未定义的
,这将使该函数中的逻辑始终返回
n

您要使用的是使用

$('#search-results-table tr.hideGroup')


将函数与
jQuery.filter()
一起使用时,第一个参数是索引,而不是元素。您可以使用
来解决此问题:

var newRows = $("#search-results-table").find("tr");

var filteredRows = newRows.filter(function(n) {
  return !$(this).hasClass('hideGroup');
});

然而,看看其他一些答案。他们提供了一个短得多的解决方案。

他想要的tr没有类隐藏组对不起-他的问题有点困惑,在再次阅读后,我不确定他到底想说什么wants@dormisher没错,他的问题令人困惑,但我认为你是对的。他给出的代码似乎排除了该类的
tr
s,因此我认为您走的是正确的道路。毫无疑问,这个问题措辞拙劣。
var newRows = $("#search-results-table").find("tr");

var filteredRows = newRows.filter(function(n) {
  return !$(this).hasClass('hideGroup');
});