Hallo, Daniel,
in der Zeile
if(j%2==0)tables[i].rows[j].className="rowbackalt";
ist "tables[i]." zuviel!
Ich hab' Dein Skript mal nachgebaut (mit 2 + 2 Tabellen) und optimiert und es funktioniert jetzt im Prinzip.
Allerdings erhalten die Tabellen in den Tabellen jetzt auch wechselnde Hintergrundfarben. Wenn das nicht erwünscht ist, musst Du das Skript natürlich noch entsprechend abändern ...
Grüße,
Sebastian
<style>
.rowback {
background: #EFEFEF;
}
.rowbackalt {
background: #CCCCCC;
}
</style>
<script>
function altRow()
{
tables=document.getElementsByTagName("table");
for(i=0;i<tables.length;i++) {
// zum Testen
// alert(tables.length);
// alert(tables[i].id);
rows=tables[i].getElementsByTagName("tr");
for(j=0;j<rows.length;j++)rows[j].className=j%2==0?"rowbackalt":"rowback";
}
}
</script>
<body onLoad="altRow();">
<table width="100" id="table1">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>
<table width="50" id="table2">
<tr>
<td>3.1</td>
</tr>
<tr>
<td>3.2</td>
</tr>
<tr>
<td>3.3</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
</table>
<table width="100" id="table3">
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>
<table width="50" id="table4">
<tr>
<td>3.1</td>
</tr>
<tr>
<td>3.2</td>
</tr>
<tr>
<td>3.3</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
</table>
</body>