hilfesucher: hintergrundbild von tabellen?

moin,

kann mir jemand sagen wieso das mitm ie funktioniert aber nicht
unter firefox oder opera?

hab ne tabelle mit id imgtable

nun möchte ich das hintergrundbild ändern:

document.getElementById('imgtable').background='images/img.gif';

funkt super, allerdings nur mitm ie :/

vielen dank

mfg

hilfesucher

  1. Hallo,

    document.getElementById('imgtable').background='images/img.gif';

    backgroundImage ?

    Gruß aus MeckPomm

    --
    Wer Freude sät, wird Liebe ernten.
    1. Hallo,

      document.getElementById('imgtable').background='images/img.gif';

      backgroundImage ?

      Gruß aus MeckPomm

      wär nett wenn jemand den ganzen code posten würde, mit background-image:url gehts nämlich auch nicht :(

    2. Hello out there!

      backgroundImage ?

      Testen ist die Mutter der Weisheit. So ersparst du anderen falsche Ratschläge und lernst auch noch was dabei.

      See ya up the road,
      Gunnar

      PS: Du plenkst.

      --
      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    3. Hallo,

      document.getElementById('imgtable').background='images/img.gif';
      backgroundImage ?

      [HTMLElement].style.backgroundImage !

      Das allein reicht aber noch nicht.

      Das Element, welches mit document.getElementById('imgtable') angesprochen wird hat keine Eigenschaft background, jedenfalls nicht per Standard. Es hat aber die Eigenschaft style, die eine Auflistung der CSS-Eigenschaften enthält, die mit JavaScript angesprochen werden können. Dazu gehört auch style.backgroundImage. Das wiedrum erwartet aber nicht einfach einen Pfad zur Bilddatei, sondern den Eintrag "url('Pfad/zur/Bilddatei')".

      Richtig wäre also:

      document.getElementById('imgtable').style.backgroundImage='url("images/img.gif")';

      viele Grüße

      Axel

      1. Hallo,

        document.getElementById('imgtable').background='images/img.gif';
        backgroundImage ?
        [HTMLElement].style.backgroundImage !

        Das allein reicht aber noch nicht.

        Das Element, welches mit document.getElementById('imgtable') angesprochen wird hat keine Eigenschaft background, jedenfalls nicht per Standard. Es hat aber die Eigenschaft style, die eine Auflistung der CSS-Eigenschaften enthält, die mit JavaScript angesprochen werden können. Dazu gehört auch style.backgroundImage. Das wiedrum erwartet aber nicht einfach einen Pfad zur Bilddatei, sondern den Eintrag "url('Pfad/zur/Bilddatei')".

        Richtig wäre also:

        document.getElementById('imgtable').style.backgroundImage='url("images/img.gif")';

        viele Grüße

        Axel

        das sieht doch gut aus :) besten dank.
        wenn man im internet sucht, bekommt man hundert unterschiedliche lösungen von background= bis backgound-image:url.
        warum legen die sich nicht mal auf eins fest ;)

        hab da jetzt aber noch nen zweites kleines problem
        hab keine anführungszeichen mehr da alles in mouseover steht:

        onMouseOver="document.getElementById('imgtable').style.backgroundImage='url(images/img.gif)';"

        in welche anführungszeichen setze ich jetzt die url?

        vielen dank schonmal im voraus

        mfg

        hilfesucher

        1. Hallo,

          wenn man im internet sucht, bekommt man hundert unterschiedliche lösungen von background=

          Das sit eine MSIE-eigene Eigenschaft von HTML-Elementen, was Du ja bereits bemerkt hast.

          bis backgound-image:url.

          Das ist CSS, kein JavaScript. Mit

          selektor {backgound-image:url("pfad/zur/bildressource");}

          wird im CSS ein Hintergrundbild festgelegt. Für JavaScript heißt die Eigenschaft

          [HTMLElement].style.backgroundImage

          warum legen die sich nicht mal auf eins fest ;)

          Das hat man
          [HTMLElement].style.backgroundImage

          hab da jetzt aber noch nen zweites kleines problem
          hab keine anführungszeichen mehr da alles in mouseover steht:

          onMouseOver="document.getElementById('imgtable').style.backgroundImage='url(images/img.gif)';"

          in welche anführungszeichen setze ich jetzt die url?

          Schreib eine Funktion, welche Du onmouseover aufrufst.

          viele Grüße

          Axel

          1. Hello out there!

            in welche anführungszeichen setze ich jetzt die url?

            Schreib eine Funktion, welche Du onmouseover aufrufst.

            Und wozu das?

            See ya up the road,
            Gunnar

            --
            “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
            1. Hallo,

              in welche anführungszeichen setze ich jetzt die url?
              Schreib eine Funktion, welche Du onmouseover aufrufst.
              Und wozu das?

              Weil es übersichtlicher ist.
              Weil man dann die vollständige url()-Schreibweise mit Quotes verwenden kann.

              Weil

              onmouseover="document.getElementById('imgtable').style.backgroundImage='url('images/img.gif')';"

              unmöglich aussieht.

              Weil

              onmouseover="document.getElementById('imgtable').style.backgroundImage='url("images/img.gif")';"

              in einem HTML-Attribut falsch ist.

              Such Dir was aus ;-).

              viele Grüße

              Axel

              1. Hello out there!

                Schreib eine Funktion, welche Du onmouseover aufrufst.
                Und wozu das?
                Weil es übersichtlicher ist.

                Je nachdem.

                Weil man dann die vollständige url()-Schreibweise mit Quotes verwenden kann.

                Die Schreibweise ohne Quotes ist auch vollständig.

                See ya up the road,
                Gunnar

                --
                “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                1. Hallo,

                  Weil es übersichtlicher ist.
                  Je nachdem.

                  Ja, nach dem ;-)

                  Weil man dann die vollständige url()-Schreibweise mit Quotes verwenden kann.
                  Die Schreibweise ohne Quotes ist auch vollständig.

                  Ja, aber ich schreibe auch

                  document.forms["formidentifier"].elements["elementidentifier"].value;

                  statt

                  document.formidentifier.elementidentifier.value;

                  und erspare mir dadurch Frage wie:

                  Wenn jetzt der elementidentifier in einer Variablen steht, muss ich dann eval() benutzen?

                  viele Grüße

                  Axel

                  1. Hello out there!

                    Ja, aber ich schreibe auch
                    document.forms["formidentifier"].elements["elementidentifier"].value;
                    statt
                    document.formidentifier.elementidentifier.value;
                    und erspare mir dadurch Frage wie:
                    Wenn jetzt der elementidentifier in einer Variablen steht, muss ich dann eval() benutzen?

                    Keine Ahnung, was du damit sagen wolltest.

                    Welche Probleme siehst du bei url(foo) ohne Anführungszeichen?

                    See ya up the road,
                    Gunnar

                    --
                    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                    1. Hallo,

                      Keine Ahnung, was du damit sagen wolltest.
                      Welche Probleme siehst du bei url(foo) ohne Anführungszeichen?

                      Keine, nur didaktische. Schon bei url() im CSS kommt regelmäßig die Frage, warum es Funktionen in CSS gibt, wo es doch gar keine Programmiersprache ist. Da ist bei

                      url("ressourcenbezeichner")

                      dann wenigstens klar, dass es sich bei ressourcenbezeichner einfach um eine Zeichenkette handelt, die nirgendwo definiert sein muss, im Gegensatz zu fast allen anderen Angaben innerhalb von CSS.

                      viele Grüße

                      Axel

        2. Hello out there!

          Bitte keine Fullquotes.

          wenn man im internet sucht, bekommt man hundert unterschiedliche lösungen von background= bis backgound-image:url.
          warum legen die sich nicht mal auf eins fest ;)

          Man sollte nicht immer alle Suchtreffer von Google ernst nehmen, sondern dort nachschauen, wo wirklich Kompetenz am Werke war, wie z.B. in SELFHTML.

          Oder in den Spezifikationen des W3C. [HTML401], [CSS2]

          in welche anführungszeichen setze ich jetzt die url?

          Steht in der CSS-Spec. Den Abschnitt hatte ich dir bereits verlinkt.

          (Ansonsten lassen sich Anführungszeichen auch mit '' maskieren. <http://de.selfhtml.org/javascript/sprache/notationen.htm#zeichenketten@title=Steuerzeichen bei Zeichenketten> [SELFHTML])

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    4. Hello out there!

      Sag mal, du bewertest nicht etwa deine eigenen Postings, oder?

      Wenn jemand ein Posting von dir als „nicht hilfreich“ bewertet, solltest du erstmal nachdenken, warum.

      Dein Posting war nicht hilfreich, weil der Hinweis, die spezielle Eigenschaft background-image statt der zusammenfassenden Eigenschaft background zu verwenden, an den Ursachen des Problems völlig vorbeiging.

      See ya up the road,
      Gunnar

      --
      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
  2. Hello out there!

    document.getElementById('imgtable').background='images/img.gif';
    funkt super, allerdings nur mitm ie :/

    Von welchem IE sprichst du? In meinem 5er „funkt“ da gar nichts.

    Du hast gleich zwei Fehler drin. Den ersten findest du, wenn du dir anschaust, wie im DOM auf Styles zugegriffen wird: [<http://de.selfhtml.org/javascript/objekte/style.htm@title=SELFHTML §style>]

    Den zweiten findest du, wenn du dir anschaust, wie URIs in CSS angegeben werden: [CSS2 §4.3.4, <http://de.selfhtml.org/css/eigenschaften/hintergrund.htm#background_image@title=SELFHTML §background-image>]

    See ya up the road,
    Gunnar

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)