通过分组选择每个第一个唯一元素

Seb*_*ien 3 javascript css css-selectors

我有一个具有交替类的元素列表.类的出现是随机的,可以连续出现一次或多次.

我正在寻找一种方法来选择元素的每个第一次出现(用a标记-).我希望在CSS中这样做,但我也可以使用JavaScript解决方案.

<div class="type-1"></div>  -
<div class="type-1"></div>
<div class="type-1"></div>
<div class="type-2"></div>  -
<div class="type-1"></div>  -
<div class="type-1"></div>
<div class="type-2"></div>  -
<div class="type-2"></div>
<div class="type-1"></div>  -
...
Run Code Online (Sandbox Code Playgroud)

TW8*_*000 5

就像这样:https://jsfiddle.net/aq8nw21f/

此代码使用CSS相邻的兄弟选择器,以及:first-of-type来获取列表中第一个项的边缘大小写.

#container > div:first-of-type, .type-1 + .type-2, .type-2 + .type-1 {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)
<div id="container">
    <span>If you used :first-child, the div below this would not highlight.</span>
    <div class="type-1">Yes</div>
    <div class="type-1">No</div>
    <div class="type-1">No</div>
    <div class="type-2">Yes</div>
    <div class="type-1">Yes</div>
    <div class="type-1">No</div>
    <div class="type-2">Yes</div>
    <div class="type-2">No</div>
    <div class="type-1">Yes</div>
</div>
Run Code Online (Sandbox Code Playgroud)