2012-04-13 11 views
5

Sto cercando un modo per applicare alcuni stili specifici su bambini dispari (o pari) che vengono visualizzati (quindi escludendo i bambini nascosti). In alternativa, se gli stili vengono applicati quando i bambini nascosti vengono visualizzati, sarebbe perfetto!Stile per bambini dispari visualizzati

Ecco una sandbox live: http://jsfiddle.net/zrges/1/

E qui è quello che voglio visivamente: http://jsfiddle.net/qJwFj/ (ovviamente, è solo un esempio di display, non prendersi cura del codice di merda che ho scritto per questo)

Non riesco a gestire con buone pseudo classi, selettori CSS per gestirlo.

spero di avere una soluzione completa css/html (non un js/php uno, che è più facile)

Grazie mille!

+1

questo è stato chiesto un certo numero di volte (pure io' avere tutti i tipi di problemi nel trovare un * buono * duplicato); la risposta è ancora no, non puoi farlo con selettori CSS purché non ci sia un qualche tipo di pattern. – BoltClock

+0

@ BoltClock'saUnicorn Ho avuto le stesse difficoltà per trovare una risposta. Quindi se dici che è un duplicato, mi dispiace e cercherò di trovare tutte le risposte. Grazie – Guile

risposta

-1

Per le tabelle, è possibile utilizzare

tr:nth-child(even) { // your style } 
tr:nth-child(odd) { // your style} 

o

tr:nth-child(2n+0) { // your style } 
tr:nth-child(2n+1) { // your style} 
+2

Il selettore [': nth-child'] (http://stackoverflow.com/tags/nth-child/info) guarda solo la posizione del fratello, indipendentemente dagli altri selettori. Quindi, questo non escluderà i bambini nascosti, come richiesto nella domanda. –

+0

Ho perso la parte "bambini nascosti". Hai ragione. –

0

css:

tr.sub { display: none; } 
​.color { background: blue; }​ 

js:

$(document).ready(function() { 
    $('table tr:visible:even').addClass('color'); 

    $('#toggle').click(function() { 
     $('table tr').removeClass('color'); 
     $('table tr.sub').toggle(); 
     $('table tr:visible:even').addClass('color'); 
    }); 
});​ 
1

Check this out: http://jsfiddle.net/qbXVV/18/


HTML:

<button id="toggle">Toggle it!</button> 
<table> 
    <tr class="sub"><td>Row 1</td></tr> 
    <tr class="tag"><td>Row 2</td></tr> 
    <tr class="sub"><td>Row 3</td></tr> 
    <tr class="tag"><td>Row 4</td></tr> 
    <tr class="sub"><td>Row 5</td></tr> 
    <tr class="tag"><td>Row 6</td></tr> 
    <tr class="sub"><td>Row 7</td></tr> 
</table>​ 


CSS:

 tr:nth-of-type(even),.bg { 
     background-color: gray; 
    } 

    .hidden { 
     display:none; 
    }​ 


JS:

$(document).ready(function() { 
$('#toggle').click(function() { 
    $('.tag').toggleClass("hidden"); 
    $(".sub:nth-child(4n+1)").toggleClass("bg"); 
}); 
});​ 
+0

Si prega di includere il codice nella risposta. – BoltClock

+0

Aggiunto il codice ... Modificato il mio post principale. – Ankit

Problemi correlati