torsten: innerHTML in DOM???

Beitrag lesen

Hallo,

aber wie muss man es DOM-gerecht notieren? Denn der Netscape 6.0 Browser unterstütz zum Beispiel nur noch das DOM-Prinzip, nicht mehr die alte Netscape-Syntax.

Also der alte NS hat kein innerHTML unterstützt.

function fnSetInnerHTML (elm, html)
{
  if (document.layers) {      //<-- NS 4
    elm.document.write(html);
    elm.document.close();
  }
  else if (typeof(elm.innerHTML) != 'undefined') { //<-- neuere Browser
    elm.innerHTML = html;
  }
}
<

Die Frage, die du dir stellst, sollte eher "Wie komme ich an das Element (elm, DIV/LAYER) ran" lauten. Das Problem ist , dass nicht alle Browser das DOM vom W3C unterstützen, sprich ihre eigene Implementierung für den Zugriff auf ein Element besitzen.

Schau mal auf <developer.netscape.com/>, dort werden im unteren Abschnitt Cross-Browser-Scripts vorgestellt, welche eine Funktion beinhalten (xbGetElementById und xbGetElementsByName), die einen "allgemeingültigen" Zugriff auf ein Element ermöglichen, sprich für die weitverbreitesten Browser (IE, NS, Gecko (Moz, NS6+) und Opera). Allgemeingültigkeit bedeutet hier, dass diese Funktionen die browserspezifischen Gegebenheiten beachten, sprich ob ein Browser schon das DOM unterstützt oder ob auf proprietäre Eigenschaften zurückgegriffen werden muss.

hth
torsten