Bild per Javascript ansprechen.
Tobias Korte
- javascript
0 Cheatah0 Tobias Korte
Hallo,
ich würde gerne ein Bild per Javascript ansprechen und dessen src-Attribut ändern.
<img src="test.gif" id="test">
Wie lautet die richtige syntax?
1. document.getElementById('test').src.value='hallo.gif';
oder
2. document.getElementById('test').value='hallo.gif';
funktionieren tut beides, aber was ist richtig bzw. richtiger?
Hi,
- document.getElementById('test').src.value='hallo.gif';
oder- document.getElementById('test').value='hallo.gif';
funktionieren tut beides,
aber wirken "tut" hoffentlich keines davon. Das JavaScript-Objekt, welches Du über document.getElementById('test') erhältst, kann - wie jedes JavaScript-Objekt - mit beliebigen Eigenschaften bestückt werden (z.B. value); das selbe gilt natürlich für die existierende src-Eigenschaft des Elements, die als String die URI repräsentiert, die im src-Attribut des <img>-Elements hinterlegt ist.
aber was ist richtig bzw. richtiger?
Richtig ist, entweder die src-Eigenschaft des Objektes oder dessen src-Attribut zu setzen. Übrigens hast Du das zwingend benötigte alt-Attribut im HTML-Code vergessen.
Cheatah
Hallo,
tatsache...
document.getElementById('test').src='hallo.gif';
funktioniert. Danke!
Du hast eine andere Variante erwähnt, wie würde diese aussehen? gibt es eine bessere Lösung?
Hi,
Du hast eine andere Variante erwähnt, wie würde diese aussehen?
Attribute werden in DOM per setAttribute()-Methode gesetzt.
gibt es eine bessere Lösung?
Nö, nicht im HTML-Umfeld.
Cheatah
Hi,
Du hast eine andere Variante erwähnt, wie würde diese aussehen?
Attribute werden in DOM per setAttribute()-Methode gesetzt.
Empfiehlst du das wirklich praktisch, oder nur theoretisch - angesichts der Probleme, die der IE damit oftmals bereitet?
MfG ChrisB
Moin Moin!
Attribute werden in DOM per setAttribute()-Methode gesetzt.
Empfiehlst du das wirklich praktisch, oder nur theoretisch - angesichts der Probleme, die der IE damit oftmals bereitet?
Ich sehe da keine Empfehlung, nur die Aussage, dass DOM setAttribute() benutzt. Das der IE mit Web-Standards ernsthafte Probleme hat, sollte wohl so langsam Allgemeinwissen sein. ;-)
Übrigens ist in SelfHTML die Problematik von setAttribute() und IE ausführlich beschrieben.
Alexander