Hi peterS
indizes benoetigst Du nicht unbedingt, denn Du benennst
doch Deine divsbzw Deine layer - oder?
Von Layern war ja gar nicht die Rede, oder? Auch andere Elemente haben die Eigenschaft innerHTML.
function manageDiv(divName,text)
{if (document.getElementById)
{document.getElementById(divName).innerHTML = text;}
else
{if (document.all)
{document.all.tags("div")[divName].innerHTML = text;}
if (document.layers)
{document.layers[divName].document.open();
document.layers[divName].document.write(text);
document.layers[divName].document.close();
} } }
Hmm.. ist aber eher unperformant. Da wird ja bei jedem Aufruf neu gecheckt, welches Objekt der Browser nun kennt. Meine Wenigkeit macht das immer so:
if (document.layers) setText = function setText(name, txt) // writes text into a stylesheet
{ document.layers[name].document.open();
document.layers[name].document.write(txt);
document.layers[name].document.close();}
else if (document.all) setText = function setText(name, txt)
{ document.all.tags("div")[name].innerHTML = txt;}
else if (document.getElementById) setText = function setText(name, txt)
{ document.getElementById(name).innerHTML = txt;}
else setText = function setText() {};
Da wird die Funktion einmal am Anfang zugewiesen und fertig ist die Laube :).
ausserdem koenntest Du noch mit der methode "eval()" arbeiten
dann saehe das ganze fuer (document.layers/all) so aus:
Also, wenn man schon weiß, dass es Layer sind, warum dann so unperformant mit eval arbeiten?
Mirko