Hallo,
Man tausche in einem JS gleich unter dem BODY-Tag über GetElementById(bla).innerHTML den Inhalt des angegebenen Tags aus und wundere sich, warum er ganz oben auf der Seite erscheint.
[...]
<SCRIPT type=text/javascript defer=true>
<!--
function change(flag, loc){
inhalt = new Array(2);
inhalt[0] = '<tr><td height="24"><a href="javascript:change(0, '+loc+')"><img src="bg-topic-normal.gif" border=0></a></td><td></td></tr>';
inhalt[1] = '<tr><td height="24"><a href="javascript:change(1, '+loc+')"><img src="bg-topic-active.gif" border=0></a></td><td></td></tr>';
if (flag=="0"){document.getElementById("menupunkt"+loc).innerHTML= inhalt[1];}
if (flag=="1"){document.getElementById("menupunkt"+loc).innerHTML= inhalt[0];}
}
//-->
</SCRIPT>
Aufruf von weiter unten :
<span id="menupunkt1" name="1">
<tr>
<td height="24"><a href="javascript:change(0, 1)"><img src="bg-topic-normal.gif" border="0"></a></td>
<td></td>
</tr>
</span>
Das <span> darf als Inline-Element nicht zwischen <table> und <tr> eingeordnet sein, sondern in deinem Beispiel eigentlich nur innerhalb einer <td>. Alternativ könntest Du die <table> komplett in ein <div id=".."> einschließen und dessen innerHTML ändern. Beides funzt dann zumindest im Moz/NN7 und IE.
Eine weitere Alternative leider nicht im IE: das innerHTML der <table> (also alles ab einschl. <tr>) zu ändern.
Gruß
Walter