É possível usar o seletor CSS3 :first-of-type
para selecionar o primeiro elemento com um determinado nome de classe? Não tive sucesso com o meu teste, então estou pensando que não é?
O código ( http://jsfiddle.net/YWY4L/ ):
p:first-of-type {color:blue}
p.myclass1:first-of-type {color:red}
.myclass2:first-of-type {color:green}
<div>
<div>This text should appear as normal</div>
<p>This text should be blue.</p>
<p class="myclass1">This text should appear red.</p>
<p class="myclass2">This text should appear green.</p>
</div>
.myclass1
seletor selecionaria todos os elementos de.myclass1
. O seletor.myclass1 ~ .myclass1
usa o combinador geral de irmãos para selecionar todos os elementos da classe.myclass1
que é o irmão seguinte de um elemento com uma classe de.myclass1
. Isso é explicado em detalhes surpreendentes aqui .