2014-05-07 12 views

risposta

5

Si potrebbe utilizzare i CSS adjacent sibling selector al fine di selezionare il primo li elemento che non ha la classe .hide:

EXAMPLE HERE.

li:first-child:not(.hide), 
li.hide + li:not(.hide) { 
    background-color: gold; 
} 

Considera anche controllando il primo elemento della lista (il primo figlio) per l'esistenza di .hide nome della classe.

+1

Ma come circa quando ci sono li multipla con il nome della classe non è in ordine ? http://jsfiddle.net/5G5ED/5/ – Sowmya

+1

@Sowmya Quindi potrebbe sovrascrivere le dichiarazioni CSS scegliendo come target gli elementi dell'elenco successivo come: 'li: not (.hide) ~ li: not (.hide) {background-color: inherit; } '. ** [DEMO AGGIORNATO] (http://jsfiddle.net/5G5ED/6/) ** –

+0

ma non pensi che sia manuale? Mi chiedevo se siamo in grado di ottenere qualsiasi metodo diretto – Sowmya

0

utilizzando JavaScript si potrebbe fare questo

http://jsfiddle.net/h_awk/5G5ED/4/

<script> 
var parent = document.getElementById('some_list'), 
    child = parent.getElementsByTagName('li'); 

child[2].style.color = 'blue'; 
</script> 
+0

Non vedo alcun tag [tag: javascript] qui – laaposto

+0

beh, per i principianti, i tag script sono Javascript e ho usato Javascript per manipolare lo stile. – Hawk

1

penso che questo è ciò che si vuole

#some_list>li.hide + li:not(.hide){ 

    color: #CCC; 

} 
Problemi correlati