2

赫吉乡亲们,

我被 CSS 和 :nth-child 和 :not 选择器困住了。

情况:
我有一个搜索字段,结果显示在下面。进入站点时,所有结果都已显示。为了更好地阅读每个第二个结果行,都会得到一个突出显示的颜色:nth-child(odd)

目标:
当用户在搜索栏中输入值时,我想要隐藏(而不是删除!)所有无效行。通过添加类它工作得很好__inivisible。它只是将display属性设置为none.

问题:
添加类后__invisible:nth-child选择器将无法按预期工作。我将它与:not(.__invisible)选择器结合起来,以排除所有不相关和不可见的结果。因此,他仍然数着它们。

也许它有点难以理解,所以这里是一个 jsfiddle 示例:http: //jsfiddle.net/SHGp2/3/

我希望 2 粉红色的行应该是他必须决定是奇数还是偶数的唯一行,所以一个应该是粉红色的,一个应该是蓝色的。

如果你不明白我在说什么,请禁用__invisible课堂上的评论。您将看到两行粉红色的行,而不是一粉色和一蓝色。

也许我把:nth-child选择器的功能弄错了,如果是这样,有没有办法让这个东西与纯 CSS 一起工作?

提前致谢!:)

PS 在这个小提琴中没有 JS ;)

4

1 回答 1

2

nth-chlid计算父级的子级,无论它们是否可见,或者是否应用了任何其他条件。不幸的是,没有办法做你在这里尝试的事情,因为甚至nth-of-type只比较标签名称。

您最好的选择是在过滤掉这些行时完全删除它们。我建议克隆该表,然后您可以在需要恢复原始完整表时克隆此“模板”。

于 2013-05-30T16:14:46.360 回答