Winfried Kaiser: document.getElementById("Name")

Funktioniert

document.getElementById("Name").xxxx.....

nur dann, wenn man als ID den String "Name" angibt?

Mit

var name = "Name";
document.getElementById(name).xxxx.....

erhalte ich immer die Meldung, dass das Objekt unbekannt sei, mit document.getElementById("Name").xxxx..... kann ich das Element bearbeiten.

Gibt es eine alternative Lösung, um Objekte mit document.getElementById(name).xxxx..... über einen variablen Namen zu indizieren (um diese in einem Loop abzuarbeiten)?

  1. Hi,

    var name = "Name";
    document.getElementById(name).xxxx.....

    erhalte ich immer die Meldung, dass das Objekt unbekannt sei, mit document.getElementById("Name").xxxx..... kann ich das Element bearbeiten.

    damit ich keinen Blödsinn schreibe habe ich es gerade extra nochmal ausprobiert - dein Beispiel funktioniert bei mir einwandfrei. Beide Varianten sollten auf's gleiche rauskommen. Deine Fehlermeldung hat vermutlich eher einen anderen Grund. Vielleicht kannst du ja mal eine Beispielseite, bei der es nicht geht online stellen.

    Schöne Grüße
    Julian

    --
    "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rich Cook
    http://derjulian.net
  2. Gibt es eine alternative Lösung, um Objekte mit
    document.getElementById(name).xxxx..... über einen
    variablen Namen zu indizieren (um diese in einem Loop
    abzuarbeiten)?

    Ich verwende folgendes:
    document.all[eval('"'+id+'"')].style

    Ist zwar nicht ganz das gleiche, aber vielleicht reicht das für deine Zwecke auch.

    Statt ".style" kann natürlich jede zum jeweiligen Objekt passende Eigenschaft angesprochen werden.

    Gruss
    Geri

    1. Hi!

      Ich verwende folgendes:
      document.all[eval('"'+id+'"')].style

      document.all ist M$-proprietär, da sind die getElementBy*-Methoden doch "besser".

      Und "eval is evil" - eval sollte nur eingesetzt werden, wenn es keine andere Möglichkeiten gibt (bzw. sehr komplizierte).

      Gruß aus Iserlohn

      Martin

    2. Hi,

      Ich verwende folgendes:

      Das solltest Du a) dringendst ändern und b) *nie wieder* weiter-"empfehlen"! =;-)

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  3. Hi,

    var name = "Name";

    name ist reserviert. Nimm also einen anderen Variablennamen!

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. Hi,

      var name = "Name";

      name ist reserviert. Nimm also einen anderen Variablennamen!

      oh. Wusste ich nicht. Ich habe mit Mozilla Firefox 1.5 gerade trotzdem erfolgreich sein Beispiel mit dem Variablennamen "name" getestet?!

      Schöne Grüße
      Julian

      --
      "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning." - Rich Cook
      http://derjulian.net
      1. Hi,

        oh. Wusste ich nicht. Ich habe mit Mozilla Firefox 1.5 gerade trotzdem erfolgreich sein Beispiel mit dem Variablennamen "name" getestet?!

        Was zeigt, daß es nicht ausreicht, nur mit Mozilla zu testen - selbst wenn man beim Programmieren schludert. ;-)

        D.h., getestet habe ich Winfrieds Problem ohnehin nicht, aber falls der Rest korrekt ist (den habe ich mir nicht angeschaut*), dann war mein Hinweis der Schlüssel zur Lösung. ;-)

        Gruß, Cybaer

        *) Hab ja noch mehr zu tun, als anderer Leute Scripts auseisanderzunehmen ... =;-)

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    2. Hallo,

      var name = "Name";

      name ist reserviert. Nimm also einen anderen Variablennamen!

      Wieso reserviert?

      window.name ist existent, ja, man kann aber beliebige Daten hineinschreiben. Und auch wieder auslesen. Deshalb sehe ich nichts problematisches am Beispiel.

      Mathias

      1. Hi,

        window.name ist existent, ja, man kann aber beliebige Daten hineinschreiben.

        Ja und? Benennst Du deine Variablen immer nach existenten Eigenschaften?

        Und auch wieder auslesen. Deshalb sehe ich nichts problematisches am Beispiel.

        Na, dann hat Winfried ja auch kein Problem ... :-)

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!