我怎样才能轮换;可见的;使用jQuery的html表中的行
我有一段代码在jQuery中为html交替行:我怎样才能轮换;可见的;使用jQuery的html表中的行,jquery,html-table,Jquery,Html Table,我有一段代码在jQuery中为html交替行: function AlternateRowColors() { $("table.altRow1 tr").filter(function() { return true; }).filter(':even').addClass('alt'); $("tr.alt td[rowspan]").each(function() { $(this).parent().nextAll().slice
function AlternateRowColors() {
$("table.altRow1 tr").filter(function() {
return true;
}).filter(':even').addClass('alt');
$("tr.alt td[rowspan]").each(function() {
$(this).parent().nextAll().slice(0, this.rowSpan - 1).addClass('alt');
});
$('ins').css("background-color", "#cfc")
}
这非常有效(如果上面有任何低效的地方,请随意添加建议)
我现在遇到的问题是,我的代码隐藏了一堆行(关于为什么与此问题不相关的详细信息),主要的一点是,我希望有一个函数,可以为当前可见行提供替代行颜色
我通过简单地向某些行添加一个类来隐藏行,并对该类调用.hide()
是否有任何建议可以使用其他行颜色(如上面的代码),但可以在可见行上使用,这样无论隐藏什么,表在alt行颜色方面都是正确的。我建议您在代码中也向可见行添加一个类,您必须将该类添加到隐藏行。假设您添加了名为visible的类。然后,您可以将上面的交替行代码应用于可见的类:
$("table.altRow1 tr.visible").filter(function() {
等等。当您隐藏行时,可能需要再次调用此函数,以便它可以重新计算奇数行和偶数行。您可以在tablerows上使用not选择器仅获取可见的行,如下所示:
$('table.altRow1 tr:not(.hidden)')
我最终使用了这个似乎有效的方法:
function UpdateTable() {
$('table.altRow1 tr:visible').removeClass('odd').filter(':odd').addClass('odd');
使用此css:
.altRow1 tr {
background-color: #FFFFFF;
}
.altRow1 tr.odd {
background-color: #DEDEDE;
}
链接选择:
$('table tr:visible:even').addClass('alt');
为什么要用一个只返回true的函数进行过滤?@Andre-你能澄清这个问题吗?你在用filter()传递一个只返回true的函数。所以你什么都没过滤。@Andre-哦,我明白了。我在这里确实有一个函数,但我在问题中对它进行了修改,以避免噪音,并专注于要点