Stephan: NS6/7 Probleme mit document.layers

Hi,

ich habe auf meineer Seite mit verschiedenen Layern gearbeitet.

IE = document.all
NS4.75 = document.layers

Kann mir einer bitte weiterhelfen, wie das bei den neuen NS Versionen 6&7 heissen muss

Vielen Dank

Stephan Hoffmann

  1. Hallo,

    IE = document.all

    Diese Syntax ist seit Erscheinen des IE 5 veraltet, wird aber von Microsoft aus welchen Gründen auch immer weiterhin unterstützt.

    NS4.75 = document.layers

    Das ist die Netscape'sche Eigenerfindung zum Thema und wird in den aktuellen Netscape-Browsern nicht mehr unterstützt.

    Für IE5+, Netscape 6+/Mozilla, Opera, Konqueror,... lautet die Syntax:

    document.getElementsById

    http://selfhtml.teamone.de/javascript/objekte/document.htm

    Viele Grüße
    Carsten

    1. Hallo,

      IE = document.all

      Diese Syntax ist seit Erscheinen des IE 5 veraltet, wird aber von Microsoft aus welchen Gründen auch immer weiterhin unterstützt.

      NS4.75 = document.layers

      Das ist die Netscape'sche Eigenerfindung zum Thema und wird in den aktuellen Netscape-Browsern nicht mehr unterstützt.

      Für IE5+, Netscape 6+/Mozilla, Opera, Konqueror,... lautet die Syntax:

      document.getElementsById

      http://selfhtml.teamone.de/javascript/objekte/document.htm

      Viele Grüße
      Carsten

      Vielen Dank

      Stephan

    2. Huhu!

      Da hat sich ein kleines böses "s" eingeschlichen.

      document.getElementById ist die richtige Fassung

      Viele Grüße
      Carsten

      1. komisch, denn bei folgendem script

        document.all.MenuSelect.innerHTML="..."

        wird im <div> mit der id "MenuSelect" der string ordnungsgemäß angezeigt, im internet-explorer 6.0, wohingegen

        document.getElementById.MenuSelect.innerHTML="..."

        einen fehler bringt:

        'document.getElementById.MenuSelect' ist Null oder Kein Objekt.

        der netscape 6.2 übrigens kommt mir garkeinem von beiden, und auch mit 'layer' nicht klar.

        ich frag mich manchmal, wieso man soviel zeit sinnlos vergeuden muss, weil man sich mit solch einem scheiss (anpassen der seiten an verschiedene browser) befassen muss...

        mfg,
        markus.

        1. Hallo Markus,

          Versuchs mal mit document.getElementById("MenuSelect")

          Grüße
          Andi

        2. komisch, denn bei folgendem script

          document.all.MenuSelect.innerHTML="..."

          wird im <div> mit der id "MenuSelect" der string ordnungsgemäß angezeigt, im internet-explorer 6.0, wohingegen

          document.getElementById.MenuSelect.innerHTML="..."

          einen fehler bringt:

          'document.getElementById.MenuSelect' ist Null oder Kein Objekt.

          ich frag mich manchmal, wieso man soviel zeit sinnlos vergeuden muss, weil man sich mit solch einem scheiss (anpassen der seiten an verschiedene browser) befassen muss...

          Hättest du es beim alten IE4-Modell gleich ala document.all["MenuSelect"] gemacht, ergäbe sich bei der Anpassung auf document.getElementById("MenuSelect") keine Schwierigkeit! Das liegt daran, das docuemtn.all[] ein Array aller HTML-Elemente darstellt , was schon an der Notation all[] erkennbar ist, während getElementId(id) eine Methode des document-Objektes ist, welche genau ein Element zurück gibt.

          Gruß Herbalizer

        3. Hallo,

          document.getElementById.MenuSelect.innerHTML="..."

          document.getElementById("MenuSelect").innerHTML="..."

          Das hätte man auch auf den in den anderen Postings verlinkten Seiten so ähnlich nachlesen können...
          (innerHTML ist übrigens auch Microsoft-Syntax, die aber ausnahmsweise von Mozilla unterstützt wird)

          Viele Grüße
          Carsten

          1. (innerHTML ist übrigens auch Microsoft-Syntax, die aber ausnahmsweise von Mozilla unterstützt wird)

            Und es ist trotzdem BÖSE!!!!! ;-)

            Gruß Herbalizer

            1. hi

              (innerHTML ist übrigens auch Microsoft-Syntax, die aber ausnahmsweise von Mozilla unterstützt wird)

              Und es ist trotzdem BÖSE!!!!! ;-)

              geht.. wenn man sich da wirklich stur an den STandard hält, kann man gelebentlich schon wahnsinnig werden - insbesondere wenn man etwas mehr verschachteltes Gerät einbauen will ist innerHTML deutlich kürzer.

              Grüße aus Bleckede

              Kai

              [der gespannt ist, wie sich Opera 7 hier verhalten wird - Mozilla kann's, konq kann's, MSIE kann's... hmmmmmm]

          2. document.getElementById("MenuSelect").innerHTML="..."

            Das hätte man auch auf den in den anderen Postings verlinkten Seiten so ähnlich nachlesen können...

            hab ich ja auch, aber erst nachdem ich meinen letzten eintrag abgesetzt hatte *gg* trotzdem vielen dank.

            mfg,
            markus.

  2. Hi Stefan!

    Willkommen in der neuen Welt ;)

    IE = document.all
    NS4.75 = document.layers

    Hier die Einsatzmöglichkeiten der verschiedenen Document Object Modells:

    IE < 5.0:
    document.all
    NN < 6.0
    document.layers
    IE >=5.0, NN >=6.0, Konqueror >= 2.0 (?)
    document.getElementById (Groß-/Kleinschreibung einhalten!!!)
    http://selfhtml.teamone.de/javascript/objekte/document.htm#get_element_by_id
    http://www.scottandrew.com/weblog/articles/dhtml_ns6

    Gruß Herbalizer

    1. hi

      IE >=5.0, NN >=6.0, Konqueror >= 2.0 (?)
      document.getElementById (Groß-/Kleinschreibung einhalten!!!)

      Opera >=5.0 fehlt noch (wenn auch mit kleineren Einschränkungen)

      Grüße aus Bleckede

      Kai