Mein script klappt net!
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 schreiben
Antwort 1 von Dr.Ma-Busen vom 18.04.2020, 20:38 Options
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 vom 18.04.2020, 20:45 Options
Antwort 3 von katy vom 18.04.2020, 22:12 Options
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 vom 20.04.2020, 11:20 Options
1. Danke an alle
2. Wie sprech ich das Attribt selber nochmal an?
Antwort 5 von Supermax vom 20.04.2020, 11:27 Options
Zitat:
Wie sprech ich das Attribt selber nochmal an?
Einfach mit
objektbezeichner.
Attributname. Also z.B. image.src = "url";
Antwort 6 von TByte vom 20.04.2020, 11:31 Options
Du meinst
images.src = "url";
oder
img.src = "url";
,
oder?
Antwort 7 von Supermax vom 20.04.2020, 11:45 Options
"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 vom 20.04.2020, 11:55 Options
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