• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Bild als Button benutzen

Hab ich jetzt gemacht da sagt er mir:


Expected '(end)' and instead saw '<!'.

Genau die gleiche Fehlermeldung war bei den Doctype davor auch
 
Du rufst ja auch außerdem die Funktion nicht korrekt auf:
  • window.onload = start();
  • document.getElementById("Bild1").onclick = klickverarbeitung();
 
HTML:
<!doctype html>
        
<html>
<head>

</head>

<script type="text/javascript">

window.onload = start();

function start(){

		document.getElementById("Bild1").onclick = klickverarbeitung();
		}
		
function klickverarbeitung () {
var cont = document.createElement('div');
cont.innerHTML = 'Hallo Welt';
			document.getElementById('aeuseresdiv').appendChild(cont)
			}

</script>
<body>


<div id="aeuseresdiv">
<img id="Bild1"  src="basketball.jpg" >
</div>


</body>
</html>


so soeht der code jetzt aus
 
Wenn man das Script in den body setzt muss man auch darauf achten, dass die Objekte bei Skriptausführung vorhanden sind, also eine Frage der Reihenfolge.
Julian, wenn du Klammern setzt, musst du function drum rum bauen, damit es zugewiesen und nicht ausgeführt wird.
thegherkin, bitte schau dir auch an, wie die Einrückungen und die Klammern gesetzt sind, man sollte Code immer sauber strukturieren.
HTML:
<!DOCTYPE html>
<html>
<head>
	<title>Beispiel thegherkin</title>
	<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</head>
<body>
	<div id="aeuseresdiv">
		<img id="Bild1" src="basketball.jpg">
	</div>

	<script>
		window.onload = start();
		function start(){
			document.getElementById("Bild1").onclick = function() { klickverarbeitung(); };
		}
			
		function klickverarbeitung () {
			var cont = document.createElement('div');
			cont.innerHTML = 'Hallo Welt';
			document.getElementById('aeuseresdiv').appendChild(cont)
		}
	</script>
</body>
</html>
 
Cool danke es klappt jetzt :)


Eine frage hätte ich aber noch:

wenn man das Script nicht in den Body geschrieben hätte wäre die >Reihenfolge dann egal?
 
Wenn man jetzt aber mehrmals klickt, erscheinen immer mehr "Hallo Welt"... ist das so gewollt?

PS: die Funktion start ist komplett überflüssig, da sie sofort ausgeführt wird und nicht erst ist window.onload... auch ist die anonyme Funktion um klickverarbeitung unnötig... also die kompletten "()" aus #22 sind falsch:
Code:
<!DOCTYPE html>
<html>
<head>
	<title>Beispiel thegherkin</title>
	<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</head>
<body>
	<img id="Bild1" src="basketball.jpg" alt="Basketball">
	<span id="text"></span>

	<script>
		window.onload = function(){
			document.getElementById("Bild1").onclick = klickverarbeitung;
		}
			
		function klickverarbeitung(){
			document.getElementById("text").innerHTML = "Hallo Welt";
		}
	</script>
</body>
</html>

EDIT: bei dem Code jetzt ist es auch egal, in welcher Reihenfolge das <script> und das <img> stehen.
 
Zurück
Oben