Robert: Tabellenzeilenfarbe - Zeile1 weiß, Zeile2 grau, Zeile3 weiß...

Beitrag lesen

hi

<table width="400" border="0" cellspacing="0" cellpadding="0">

<tr name="table_row" id="table_row">

tr hat kein Name-Attribut

<td>Row 1</td>
<td>Row 1</td>
<td>Row 1</td>
</tr>

<tr name="table_row" id="table_row">

id-Attribute müssen eindeutige Werte haben.

<td>Row 2</td>
<td>Row 2</td>
<td>Row 2</td>
</tr>

</table>

name-Attribut weglassen.
id-Attribute mit angehängter aufsteigender Nummer verwenden
(id_row1, id_row2 usw.)
und dann per document.getElementById("id_row" + z); ansprechen.

Oder noch besser, da beim Einfügen/Löschen von Zeilen keine ids geändert werden müssen:

der Tabelle eine id verpassen.
per mytable = document.getElementById die Tabelle holen.
und dann per myrows = mytable.getElementsByTagName("tr"); das Array der Zeilen holen.
Dann per Schleife über dieses Array laufen.

<SCRIPT>
var z = 1;

function zebra(row_name)
{
var objConstrFields = document.getElementsByName(row_name);
for(i=0;i<objConstrFields.length;i++)
{
z = z*(-1);
if(z==1){objConstrFields[i].style.background='#EFEFEF';}else{objConstrFields[i].style.background='#FFFFFF';}
}
}

if(document.getElementsByName)zebra("table_row");

</script>

Robert