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