Nein, du hast nur nicht genau gelesen. Hier habe ich a1, a2 usw fest definiert. ( <span id=a"&(i)&"></span> )
Als was definiert?
document.write "<TR bgcolor =""FFCC00""><TD width =""13%"" align = ""center""><p><span id=a"&(i)&"></span></p></TD>"
Ich sehe nur eine Zeichenkette, die es bitzeli mit & und deiner Schleifenvariable verbastelt wird und als Argument an document.write gegeben wird. Da ist nichts von einer Definition von a1 oder a2. Wenn du a1 oder a2 in der Form [a1.InnerHtml = "<p>irgendwas</p>"] verwenden willst in deinem Scriptzeugs, dann wirst du sicher auch irgendwo mal [a1 = ...] stehen haben?!
Wie wär's mal mit was neuem: document.getElementById("a"&(i)).InnerHtml = "<b>So funktionuckelt es vielleicht</b>" .... rein spekulativ ...
strAAA im Vergleich zu document.getElementById("a"&(i)) nur ne doofe Zeichenkette, nicht mehr nicht weniger.
Ciao, Frank