我有一个包含隐藏和可见项目的列表。可见项目有一个名为 active 的类。我正在尝试应用:nth-child(odd)
or -:nth-of-type(even)
仅适用于这些特定的可见项目,但结果是完全随机的。
我期待:黄色,绿色,黄色,绿色,黄色。
结果:黄、黄、绿、黄、绿、绿。
我以为我可以过滤类名和节点。但显然情况并非如此。
<ul>
<li>hide</li>
<li class="active">visible</li>
<li>hide</li>
<li class="active">visible</li>
<li class="active">visible</li>
<li>hide</li>
<li class="active">visible</li>
<li class="active">visible</li>
<li>hide</li>
<li class="active">visible</li>
</ul>
风格:
li {
background-color:red;
display:none;
}
li.active {
display:block;
}
li.active:nth-child(odd) {
background-color:yellow;
}
li.active:nth-child(even) {
background-color:green;
}
有没有解决的办法?
编辑:我不能使用 jQuery 或任何其他库,只能使用本机 js。在现实生活中,我有 50 多个包含图像和文本的列表项,因此从 DOM 中删除不可见的项并放回去可能不是一个好主意。