Hanz: getElementsById - wie?

Aalso,

ich hab das hier:

Datum = new Date();
 DieserMonat = Datum.getMonth() + 1;
 switch(DieserMonat)
 {case 1:
  document.write("<img src=animat/monate/Januar.gif>");
  break;
  case 2:
  document.write("<img src=animat/monate/Februar.gif>");
  break;
  case 3:
  document.write("<img src=animat/monate/Maerz.gif>");
  break;
  case 4:
  document.write("<img src=animat/monate/April.gif>");
  break;
  case 5:
  document.write("<img src=animat/monate/Mai.gif>");
  break;
  case 6:
  document.write("<img src=animat/monate/Juni.gif>");
  break;
  case 7:
  document.write("<img src=animat/monate/Juli.gif>");
  break;
  case 8:
  document.write("<img src=animat/monate/August.gif>");
  break;
  case 9:
  document.write("<img src=animat/monate/September.gif>");
  break;
  case 10:
  document.write("<img src=animat/monate/Oktober.gif>");
  break;
  case 11:
  document.write("<img src=animat/monate/November.gif>");
  break;
  case 12:
  document.write("<img src=animat/monate/Dezember.gif>");
  break;}

Und das ist auch ganz gut so. Mein Problem ist jetzt, diese Moantsbilder an die richtige Stelle zu bringen. Früher, als der IE der einzige brauchbare Browser war (jaja, aus meiner Sicht), hab ich immer das InnerHTML-Objekt benutzt, weil's mir egal war, ob das mit Netscape/Firefox/Sonstwas lief. Ist's mir heute aber nicht mehr. Aber sowas gibt's ja wohl auch universeller, eben document.getElementsById.
Nur das zu verwenden funktioniert bei mir mal wieder absolut nicht...

Also, wie bring ich die Bilder an die richtige Stelle? In dem Fall ne Spalte einer Tabelle, wie so oft.

In diesem Sinne, ein Gruß (und ein Dank) vom Hanz.

  1. hi,

    switch(DieserMonat)
    {case 1:
      document.write("<img src=animat/monate/Januar.gif>");
      break;
      case 2:
      document.write("<img src=animat/monate/Februar.gif>");
      ...

    hast du schon mal was von arrays gehört ...?

    Aber sowas gibt's ja wohl auch universeller, eben document.getElementsById.
    Nur das zu verwenden funktioniert bei mir mal wieder absolut nicht...

    da die ID dokumentweit eindeutig sein muss, ist auch das element im methodennamen nur im singular vertreten: getElementById().

    aber warum so umständlich?
    platziere doch von anfang an ein bild an der gewünschten stelle im quelltext, und tausche dann nur dessen quelle aus, wie es beispielsweise http://de.selfhtml.org/javascript/beispiele/buttons.htm oder http://de.selfhtml.org/javascript/objekte/images.htm#src vormachen ...

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. Hej Hanz,

    warum, bennennst du nicht erstmal deine Bilder um, in monat1.gif .. monat12.gif.

    Dann hängst du direkt das Bild ins html ein:
    <img id="monat" src="animat/monate/leer.gif">

    Wenn es dann schon JavaScript sein soll, mach es dooch so:

    Datum = new Date();
      DieserMonat = Datum.getMonth() + 1;
      document.getElementById("monat").src = 'animat/monate/monat'+DieserMonat+'.gif';

    nachzulesen unter http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#img.

    Sollte klappen.

    Beste Grüße
    Biesterfeld

    --
    Selfcode:
    fo:| br:> n4:? ie:{ mo:} va:} de:] zu:| fl:| ss:| ls:]
  3. Hallo,

    Warum so umständlich? Nenn die Bilder doch einfach 1.gif, 2.gif , usw.

    Datum = new Date();
    DieserMonat = Datum.getMonth() + 1;

    var bild = '<img src="animat/monate/'+DieserMonat+'.gif" alt="">';
    document.getElementById('id_der_zelle').innerHTML = bild;

    Gib der Zelle eine ID und pack das Script in eine Funktion, die du per onload
    aufrufst.

    innerHTML funktioniert auch in Mozilla und m.W. auch in Opera (zumindest in
    neueren Versionen).

    Gruß, Jan