Meinte ich auch, dass mit Deiner „neumann“ Instanz das name- oder id-Attribute praktisch festgelegt ist. Natuerlich ist „neumann“ das Objekt und „name“ sowie „id“ die Attribute. In der Orginal Doku sind die Attribute aber als „readOnly“ gekennzeichnet, was auch verstaendlich ist, denn eine Aenderung wuerde eine Aenderung an der layers-Collection bewirken.
Beim dynamischen Kreieren von „Layers“ musst Du Dich wohl oder uebel an drei Varianten halten, denn sowohl „layers“ als auch „all“ sind kein Standard. Deshalb gibt es auch keine Unterstuetzung diesbzgl. in neuen Browsern (also „layers“ in NS6 usw.). MSIE5.x uebernimmt noch das „all“ vom MSIE4.x. Um eine Browser-Abfrage kommst du also nicht drumrum, was aber nicht so schwer ist:
if (window.opera) {
// Its Opera v5.12/v6.0/v6.01
} else if (window.document.all && (navigator.appName=="Microsoft Internet Explorer")) {
// Its MSIE v4.x/v5.0x/v5.5/v6.0
} else if (window.document.layers && (navigator.appName=="Netscape")) {
// Its Netscape v4.xx
} else if (window.document.documentElement && !window.document.all) {
// Its Netscape v6.0/v6.1/v6.2/v6.21 and Mozilla v0.9x
} else {
// Its Unkown
}
Obiges macht man eigentlich ganz anders und besser, reicht aber fuer Deine Zwecke denke ich mal.
Dazu gibt es undokumentierte Moeglicheiten der Browser. Das ist aber eine andere Geschichte…
Was der Opera zur Zeit alles kann weiss ich nicht genau, bin da nicht mehr so upToDate.
Der Opera 5 kann auf alle Faelle das meiste nicht dynamisch.
Im NS4 machst Du es eben ueber:
new Layer()
open(),write(),close()
Im MSIE machst Du es ueber:
window.document.body.insertAdjacentHTML("beforeEnd",...);
window.document.all[...]
Objekt.innerHTML = ...
Das kannst du fuer alle MSIE-Versionen nehmen, auch wenn Neuere mehr koennen.
Im Netscape6, Mozilla oder auch im MSIE5 und hoeher:
window.document.createElement(...);
Objekt.setAttribute(...,...);
window.document.body.appendChild(Objekt);
Objekt.innerHTML = ...
Auf alle „Layers“ in allen Browsern kannst Du mit:
window.document.getElementById();
oder einer der anderen getElementBy… Methoden zugreifen. Das gilt auch fuer den Netscape v4 und MSIE v4, wenn man eine undokumentierte Eigenschaft dieser Browser nutzt. Auch das ist eine andere Geschichte…