Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Mein script klappt net!





Frage

Warum? (Javascript): <html> <head> <title>Bilder</title> <style type="text/css"> body{width: 3000;height: 3000;} img{position:relative; top:10px; left:10px;} </style> <script type="text/javascript"> function neu() { document.img.setAttribute("src", "2.jpg"); } </script> </head> <body bgcolor="#0D5D43"> <img src="1.jpg" width="150" height="150"> <a href="javascript:neu()">neu</a> </body> </html> mfg TByte

Antwort 1 von Dr.Ma-Busen

Moin!

Ich weis zwar nicht was du für ein Browser hast, aber inzwischen hat fast jeder Browser ein Debuger der dir Java-Script Fehler auf der Seite anzeigt. Der FireFox meint zu dein Script:
Fehler: document.img has no properties
Quelldatei: file:///home/user/Desktop/test.html
Zeile: 12


Was auch irgendwie logisch ist. Woher soll der Browser denn wissen welches Bild du mit document.img meinst.

Versuch mal das Bild über images anzusprechen.

MfG

Antwort 2 von Adelheit

Antwort 3 von katy

Hallo TByte

wie Dr.Ma-Busen schon andeutete: es gibt kein Objekt document.img. Also kannst du darin auch keinerlei Attribute ändern.

Mit
Zitat:
function neu()
{
document.images[0].src= "2.jpg";
}

kannst du das Problem beheben. Hatte ich dir nicht schon mal den Tipp gegeben, statt setAttribute() einfach das Attribut selbst anzusprechen? Mit setAttribute hat der IE nämlich manchmal Probleme. Und es ist hierbei auch völlig überflüssig.

katy

Antwort 4 von TByte

1. Danke an alle
2. Wie sprech ich das Attribt selber nochmal an?

Antwort 5 von Supermax

Zitat:
Wie sprech ich das Attribt selber nochmal an?


Einfach mit objektbezeichner.Attributname. Also z.B. image.src = "url";

Antwort 6 von TByte

Du meinst
images.src = "url"; 

oder
img.src = "url"; 
,
oder?

Antwort 7 von Supermax

"images" ist selbst eine Eigenschaft von "document" und enthält Referenzen auf alle <img>-Tags eines Dokuments.

document.images ist dabei ein Array, du kannst auf die einzelnen Bilder über den Index zugreifen, wobei computer-typisch bei 0 zu zählen begonnen wird, das erste Bild im Dokument ist also document.images[0], das zweite ist document.images[1] usw...

Besser ist es, dem Bild eine "id" zuzuweisen, also im Quelltext <img id="bild1" src="-url-" >, dann kannst du auf das Element einfach mit document.getElementById("bild1") zugreifen und bist unabhängig davon, wo im Quelltext ein bestimmtes Bild steht.

Antwort 8 von katy

Hallo TByte,

was ist an meinem Quellcode-Beispiel unverständlich? Da spreche ich doch das Attribut src direkt an!

document.img oder img gibt es nicht (außer du definierst selbst ein neues Objekt mit diesem Namen), vergiss den Quatsch endlich!

katy