Ole: SRC bei IMG via getElementById ändern?

hi

ich versuche mich grade daran ein bild zu tauschen und hab mir gedacht, was bei styles funktioniert, müßte doch bei bildquellen (<img src=">) auch irgendwie klappen...naja, wohl nicht ganz :(

meine source dazu sieht so aus:

function plusminus(blubblub)
{
 if (document.getElementById(blubblub).src == "plus.gif")
 {
  document.getElementById(blubblub).src = "minus.gif"
 }
 else
 {
  document.getElementById(blubblub).src = "plus.gif"
 }
}

wie mach ichs besser?

alles liebe
ole
(8-)>

--
Buch macht kluch...
...meistens ;)
  1. Hallo,

    meine source dazu sieht so aus:

    prinzipiell sollte das so funktionieren, aber probiere es alternativ mal so:

    function plusminus(blubblub)
    {
     if (document.getElementById(blubblub).src == "plus.gif")

    if (document.getElementById(blubblub).getAttribute("src") == "plus.gif")

    {
      document.getElementById(blubblub).src = "minus.gif"

    document.getElementById(blubblub).setAttribute("src","minus.gif");

    }
     else
     {
      document.getElementById(blubblub).src = "plus.gif"

    document.getElementById(blubblub).setAttribute("src","plus.gif");

    }
    }

    MfG, Thomas

    1. hi Thomas

      dank dir, aber so ganz mag das bei mir nicht klappen...besser gesagt: es funktioniert garnicht :( (winNT + IE 6)

      das JS hab ich jetzt so wie du geschrieben hast mit getAttribute und setAttribut umgeschrieben, so das es jetzt so aussieht:

      function plusminus(blubblub)
      {
       if (document.getElementById(blubblub).getAttribute("src") == "plus.gif")
       {
        document.getElementById(blubblub).setAttribute("src","minus.gif");
       }
       else
       {
        document.getElementById(blubblub).setAttribute("src","plus.gif");
       }
      }

      die betreffende zeile im source code ist folgende:

      <img src="plus.gif" width="18" height="18" alt="" border="0" id="ueberimg"><a href="#" onclick="plusminus('ueberimg'); return false;">&Uuml;bersicht</a>

      hab ich noch etwas übersehen? *kopfkratz*

      oh...grad mal mit dem NN 6.22 getestet, da funktionierts *froi*...gibt es vieleicht einen workaround (o.ä) für den IE (immerhin soll es in beiden laufen)? :)

      alles liebe
      ole
      (8-)>

      --
      Buch macht kluch...
      ...meistens ;)
      1. nochmal ich :)

        änder ich in folgender zeile

        <img src="plus.gif" width="18" height="18" alt="" border="0" id="ueberimg"><a href="#" onclick="plusminus('ueberimg'); return false;">&Uuml;bersicht</a>

        die img src von plus.gif auf minus.gif dann funktioniert der wechsel auch im IE allerdings nur einmal von minus zu plus aber nicht wieder zurück :(

        schon ein wenig seltsam, oder (obwohl, bei MS und beim IE sollte einen ja nichts mehr wundern ;))?

        --
        Buch macht kluch...
        ...meistens ;)
      2. Hallo,

        hab ich noch etwas übersehen? *kopfkratz*

        Gib mal am Anfang Deiner Funktion aus:

        alert(document.getElementById(blubblub).getAttribute("src"));

        Mozilla zeigt plus.gif, der IE hat noch den (lokalen) Pfad davor. Also ersetze:

        if(document.getElementById(blubblub).getAttribute("src") == "plus.gif") {...}

        durch

        if(document.getElementById(blubblub).getAttribute("src").indexOf("plus.gif")!=-1) {...}

        MfG, Thomas

        1. hi Thomas

          vielen dank jetzt klappts *froi*

          alles liebe
          ole
          (8-)>

          --
          Buch macht kluch...
          ...meistens ;)
      3. hi Thomas

        dank dir, aber so ganz mag das bei mir nicht klappen...besser gesagt: es funktioniert garnicht :( (winNT + IE 6)

        das JS hab ich jetzt so wie du geschrieben hast mit getAttribute und setAttribut umgeschrieben, so das es jetzt so aussieht:

        function plusminus(blubblub)
        {
         if (document.getElementById(blubblub).getAttribute("src") == "plus.gif")
         {
          document.getElementById(blubblub).setAttribute("src","minus.gif");
         }
         else
         {
          document.getElementById(blubblub).setAttribute("src","plus.gif");
         }
        }

        die betreffende zeile im source code ist folgende:

        <img src="plus.gif" width="18" height="18" alt="" border="0" id="ueberimg"><a href="#" onclick="plusminus('ueberimg'); return false;">&Uuml;bersicht</a>

        Warum nicht so?
        <img src="plus.gif" width="18" height="18" alt="" border="0" id="ueberimg">
        <a href="#" onclick="plusminus(this); return false;">&Uuml;bersicht</a>

        function plusminus(bild)
        {
           if(bild.src == "plus.gif") bild.src = "minus.gif";
           else bild.src = "plus.gif";
        }

        Struppi.