Jquery 表行/数据上的第n个子项(偶数)

Jquery 表行/数据上的第n个子项(偶数),jquery,html,css,css-selectors,css-tables,Jquery,Html,Css,Css Selectors,Css Tables,我正在努力使第n个子(偶数)css在我的表行上正常工作 我也为你做了一把小提琴看看问题是什么: 我有一个过滤系统,在这个系统中,我按照特定的国家划分出版商。如果你点击顶部的“全部”,你会看到所有的发布者,第n个子项(偶数)在那里正常工作,每一个表行后面都有一个灰色背景 如果单击“EST”,您会看到第n个子项(偶数)不再像它应该在那里工作。例如,您会看到两条灰色背景线连成一行,因为“所有”类别中的一些发布者不属于“EST”,第n个子样式当然不知道这一点 我的风格是这样的: table

我正在努力使第n个子(偶数)css在我的表行上正常工作

我也为你做了一把小提琴看看问题是什么:

我有一个过滤系统,在这个系统中,我按照特定的国家划分出版商。如果你点击顶部的“全部”,你会看到所有的发布者,第n个子项(偶数)在那里正常工作,每一个表行后面都有一个灰色背景

如果单击“EST”,您会看到第n个子项(偶数)不再像它应该在那里工作。例如,您会看到两条灰色背景线连成一行,因为“所有”类别中的一些发布者不属于“EST”,第n个子样式当然不知道这一点

我的风格是这样的:

       table.pubTable tr:nth-child(even) td{
       background-color: #dcdcdc;
       width: 627px;
       height: 26px;
       padding-top: 12px;
       }

有没有其他方法可以让它工作,这样无论你点击哪个类别,背景色在每个出版商上都是均匀的?

隐藏并且元素不会删除它,因此就CSS而言,元素仍然存在,并且仍然应该为
第n个子元素的目的计数


我的建议是克隆表作为“模板”。然后,在更改显示的行时,从该“模板”创建一个克隆,并从中删除不应显示的行。然后,您可以淡出显示的表格,淡入新表格。

问题的原因是您的css代码将样式添加到所有tr中,因此即使您隐藏了一些tr,它仍会保留在dom中并包含在奇偶中

一种方法是,您可以尝试在所有行中添加一个名为show的类,然后将css

table.pubTable tr.show:nth-child(even) td{
       background-color: #dcdcdc;
       width: 627px;
       height: 26px;
       padding-top: 12px;
       }

table.putTable tr.hide{
    display:none;
}

现在,一旦您应用了过滤器,所有这些行都不需要显示,请删除类显示并添加类隐藏。现在,您的样式仅过滤tr.show,这样它将仅在tr.show上计数偶数和奇数,您将得到您想要的。

Hi@Niet,感谢您的建议。我不想让这篇文章再多开一点,看看我能不能得到更多的想法,如果不能,我会在今天晚些时候把你的答案记下来。非常感谢。当你说“克隆表格”时,你是说复制/粘贴整个表格主体作为模板吗?(关于淡出显示的表格的提示会很好)我对这一点还不太熟悉,很抱歉我的知识不多。在这一点上,它就像
表格一样简单。cloneNode(true)
。行是按国家排序的吗?嗨,Salman A-不应该是,每个发布者都在表格行内,并且都有表格数据。然后,发布者按国家/地区排序,第n个子项
不考虑类-事实上,甚至第n个类型也不考虑类,因为这只考虑节点名称。