Andi: getElements geht in Opera und Mozilla nicht

Hallo ihr alle!

Ich habe eine Tabelle bei der ich die Inhalte mit JavaScript dynamisch ändern will. Das habe ich bis jetzt mit dem Befehl

document.getElementByID("id").data = "neuer Text"

gemacht. Das ist ja schön und gut aber funktioniert leider nur in MS-IE ab 5 und NS ab 6, was ja auch nicht alle haben, weil sich viele das Update noch nicht runtergeladen haben... Aber unter Opera und Mozilla geht mit diesem Befehl gar nix!!!
Wisst ihr das was entsprechendes oder wenn unter allen 4 Browsern funktioniert wär des natürlich noch viel besser!

Also danke schon für eure Antworten.

MFG

Andi

  1. Hallo,

    Ich habe eine Tabelle bei der ich die Inhalte mit JavaScript dynamisch ändern will. Das habe ich bis jetzt mit dem Befehl

    document.getElementByID("id").data = "neuer Text"

    gemacht. Das ist ja schön und gut aber funktioniert leider nur in MS-IE ab 5 und NS ab 6, was ja auch nicht alle haben, weil sich viele das Update noch nicht runtergeladen haben... Aber unter Opera und Mozilla geht mit diesem Befehl gar nix!!!

    In dieser Schreibweise ist das auch nicht korrekt, besser (wenn es sich um einen Textknoten handelt):
    document.getElementById("id").firstChild.data = "neuer Text";
    oder
    document.getElementById("id").firstChild.nodeValue = "neuer Text";

    Wisst ihr das was entsprechendes oder wenn unter allen 4 Browsern funktioniert wär des natürlich noch viel besser!

    IE 5+, Netscape 6.x und Mozilla kommen damit klar. Fuer NN 4.x waere das Neuschreiben des Inhaltes eines Layerobjektes moeglich, siehe: http://www.styleassistant.de/tips/beispiel12c.htm.

    Opera ist von den aktuellen Browsern am wenigsten DOM-faehig, das dynamische Ersetzen von Text ist in dieser Art nicht moeglich. Das Anzeigen/Verstecken von bereits vorhandenen Textfragmenten waere denkbar.

    MfG, Thomas

  2. Hallo Andi,

    zum Thema Opera siehe den thread

    http://forum.de.selfhtml.org/?m=35730&t=6465

    und dort meine und Thomas Antwort. (Kurzfassung: "geht nicht", aber bitte dort nachlesen, was und warum nicht....)

    Chräcker

    http://www.Stempelgeheimnis.de

  3. 'n abend,

    document.getElementByID("id").data = "neuer Text"

    ich erinnere mich, dass einer der stammposter in diesem Forum, das Universum
    für Case-sensitive erklärt hat ;-)
    getElementById()
    .............^

    außerdem sollte da noch ein firstChild dazwischen

    document.getElementByID("id").firstChild.data = "neuer Text"

    bye eddie

  4. Hallo

    Also erst mal Danke aber gibts denn für Mozilla auch so eine schöne aufstellung was unterstützt wird wie für Opera?

    MFG

    Andi

    1. Hallo,

      Also erst mal Danke aber gibts denn für Mozilla auch so eine schöne aufstellung was unterstützt wird wie für Opera?

      http://www.mozilla.org/docs/dom/

      MfG, Thomas

      1. Hallo!

        Danke aber warum geht des

        document.getElementsByTagName(id).firstChild.nodeValue = "Text";

        nicht? wird doch eigentlich unterstüzt oder? Liegt es vielleicht dass die Funktion über ein onClick="set()" aufgerufen wird, dass in einem td tag steht?
        Danke für alle sinnvollen Antworten!

        MFG

        Andi

        1. Hi,

          document.getElementsByTagName(id).firstChild.nodeValue = "Text";

          nicht?

          weil es kein ellement mit dem Tagname id gibt und ich behaupte, dass in der variable id kein
          gültiger htmltag steht, stimmt doch oder?

          getElementsByTagName ruft das element auf und das wievielte es ist.
          Bsp:
          du hast 5x <p>-Tags in deinem document und du willst das dritte aufrufen, dann musst du
          wissen das alle tags einer art ein array aufspannen (ähnlich den Form-Elements)
          du rufst also
          getElementsByTagName ("p")[2]
          auf. Andere Formen sind ungültig.

          bye eddie