Dobre je prave to vysvetleni tu
https://developer.mozilla.org/…S/:nth-child
2n+1 je totez jako odd
2n je totez jako even
n=0: 2*0 = 0, pro +0 je to radek 0, pro +1 je to radek 1
n=1: 2*1 = 2, pro +0 je to radek 2, pro +1 je to radek 3 ...
n + 5 je jakoze jde radek po radku, bez nasobeni
n=0: 0, pro +5 je to radek 5
n=1: 1, pro +5 je to radek 6 ...
cili od radku 5 to bude vsechno obarvene.
jestli to chces vyjadrit nejak programove, tak
<script>
var a,b,n,m;
// a * n + b
m = 10; // prvnich 10 radku, pro ktere vzorec vyhovuje
a = 1; b = 5; for(n=0; n<m; ++n) {document.write((a*n+b)+" ");}; document.write('<br>');
a = 2; b = 0; for(n=0; n<m; ++n) {document.write((a*n+b)+" ");}; document.write('<br>'); // even
a = 2; b = 1; for(n=0; n<m; ++n) {document.write((a*n+b)+" ");} // odd
</script>
Taky byl kdysi problem v tom, co chape IE jako node a co FF. Jestli tam mas kod pres el.childNodes, tak tam v jednom prohlizeci muzes mit i textnody, ktere jsi necekal, nejen elementy a ve druhem zas bez nich. Je tam pak dobre kontrolovat typ nodu v cyklu.