hintergrundbild von tabellen?
hilfesucher
- javascript
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
Hallo,
document.getElementById('imgtable').background='images/img.gif';
backgroundImage ?
Gruß aus MeckPomm
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 :(
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.
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
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
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
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
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
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
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
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
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
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
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
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