Ich bin für einfache Lösungen. So zum Beispiel alternierende Hintergründe für Tabellenzeilen per CSS. Die zu-Fuß-Lösung wäre:
<table>
<tr class=”even”>
…
</tr>
<tr class=”odd”>
…
</tr>
</table>
Jetzt wollen wir aber diese Klassenauszeichnungen gar nicht in unserem Table-Quelltext sehen. Vielleicht ist das Ding ja auch dynamisch generiert und wir wissen vorher gar nicht, welche Zeile ‘even’ und welche ‘odd’ ist. Und außerdem ist es ein reines Gestaltungsmerkmal, keine semantische Auszeichnung und hat im Content nix verloren.
Wir machen das mit jquery. Color Charge liefert eine simple Anleitung dazu – in der jQuery-Doku ist aber auch genau das als Anwendungsbeispiel für den :even-Selektor aufgeführt.
Problem: bei verschachtelten Tabellen kommt der Zähler durcheinander.
Lösung: statt
$(“table.streifentabelle tr:even”).addClass(“even”);
nehmen wir:
$(“table.streifentabelle tr:nth-child(even)”).addClass(“even”);