Jens Buerger: Inhalt einer Variable als Javascript-Eigenschaft nutzen?

Hallo Leuts,

ich habe schon verschiedene Suchbegriffe hier losgeschickt, aber nie das richtige gefunden ... ich hoffe jemand von Euch kann mir helfen.

Ich möchte gerne einen Wert an eine Funktion übergeben und diesen nacher in der Funktion als Eigenschaft nutzen, ich habe das auch schonmal gemacht, aber ich weiß es leider nicht mehr wie es funzt.

z.B.:
<a href="#" onClick="aendere('test')">
  <img src="test.jpg" name="test">
</a>

function aendere(bild) {
  document.bild.src=...
}

also wenn man auf das test-Bild klickt, soll an die Funktion
"aendere()" das Wort "test" übermittelt werden, was gleichzeitig der Name des Images ist um z.B. die SRC davon zu ändern.
Ich will nicht getElementbyID/Name benutzen, weil es noch "zu neu" ist.
Gibt es nicht so einen Aufruf wie:
document.[bild].src
oder
document.(bild).src
oder ???
Möglichst ein Befehl der auch im Netscape noch funzt und nicht nur für das IMG-Tag gilt(also auch nicht mit "all").

Für Hilfe wäre ich echt dankbar!
Jens

  1. Hoi,

    ich habe schon verschiedene Suchbegriffe hier losgeschickt, aber nie das
    richtige gefunden ... ich hoffe jemand von Euch kann mir helfen.

    Suche nach 'javascript' und 'image'.

    [...]

    also wenn man auf das test-Bild klickt, soll an die Funktion
    "aendere()" das Wort "test" übermittelt werden, was gleichzeitig der Name des
    Images ist um z.B. die SRC davon zu ändern.

    document.images[bild].src

    Ich will nicht getElementbyID/Name benutzen, weil es noch "zu neu" ist.

    Quark.

    Möglichst ein Befehl der auch im Netscape noch funzt und nicht nur für das
    IMG-Tag gilt(also auch nicht mit "all").

    Damit wirst du leben muessen. Der NN4.x stellt nur ein sehr begrenztes DOM zur
    Verfuegung.

    Gruesse aus dem schoenen LH,
     c.j.k

  2. Hallo auch.

    function aendere(bild) {
      document.bild.src=...
    }

    function aendere(bild) {
      eval("document." + bild + ".src = '...'")
    }

    Gruß
    Norbert

    1. Hoi,

      function aendere(bild) {
        document.bild.src=...
      }

      function aendere(bild) {
        eval("document." + bild + ".src = '...'")
      }

      Nein! eval() ist hier nicht noetig!

      Gruesse aus dem schoenen LH,
       c.j.k, Gegner von Benutzung von eval() in solchen Kontexten

      1. Grüß dich.

        function aendere(bild) {
          document.bild.src=...
        }

        function aendere(bild) {
          eval("document." + bild + ".src = '...'")
        }

        Nein! eval() ist hier nicht noetig!

        Aber es funktioniert. Warum hab ich eigentlich immer das Gefühl, das Ausrufezeichen ihrem Ausruf einen aggressiven Unterton verleihen?

        Gruß
        Norbert, Befürworter dieser kleinen aber dennoch mächtigen Methode - auch in diesem Zusammenhang.

  3. Ich hab noch ne Ergänzung:

    Hintergrund ist der, daß ich zB mehrere Grafiken oder Tabellenzeilen mittels Name dynamisch ändern möchte. Vorher habe ich das zB so gemacht
    bilder=new Array;
    bilder[0]=new Array;
    bilder[0][0]=new Image;
    bilder[0][1]=new Image;
    bilder[0][0].src="normalesBild.gif"
    bilder[0][1].src="hervorgehobenesBild.gif"

    function ... (bildNr,zustand)
    ... images[bildNr][zustand].src

    ... onMouseOver="Bildwechsel(0,1)" ... schaltet Bild 0 ein (1)
    ... onMouseOut="Bildwechsel(0,0)" ... schaltet Bild 0 aus (0)

    das ist jedoch ein ziemliches Durcheinander bei mehreren Bildern.
    Ich hoffe es wird jetzt deutlicher was ich suche.