Auge: if... else... Funktion, Ausgabe stimmt nicht

Beitrag lesen

Hallo

Nun möchte ich, dass bei einer bestimmten Punktzahl ein Text ausgegeben wird. Ich habe hier eine if else Funktion verwendet die wie folgt arbeiten soll:

Wenn Punktzahl über 20, dann gibt aus "Über 20"

Wenn nicht, dann gib aus "Unter 20"

Egal welche Zahl ich in #endpoints schreibe, es wird immer "Unter 20" ausgegeben.

<!doctype html>
<html>
	<body>
		<h1>JavaScript If Else Example</h1>
  	<p id="endpoints">10</p>
		<p id="message"></p>

		<script>
	  	var punkte = document.getElementById("endpoints");
     	 if(punkte > 20){
      		document.getElementById("message").innerHTML = "über 20";
   	   } else{
      		document.getElementById("message").innerHTML = "unter 20";
    	  }
		</script>
	
	</body>
</html>

Hast dun schon geprüft, was in der Variable punkte drinsteht? Mit console.log(punkte); direkt nach der Zeile var punkte = document.getElementById("endpoints"); wirst du feststellen, dass die Variable das betreffende Element und nicht dessen Textinhalt enthält. Den bekommst du mit textContent.

var punktelem = document.getElementById("endpoints");
console.log(punktelem);
var punkte = punktelem.textContent;
console.log(punkte);
if(punkte > 20){
	document.getElementById("message").innerHTML = "über 20";
} else{
	document.getElementById("message").innerHTML = "unter 20";
}

In der Konsole der Entwicklertools deines Browsers kannst du die mit console.log generierten Kontrollausgaben anschauen. Wenn schlussendlich alles funktioniert, können die betreffenden Zeilen auch aus dem Skript verschwinden.

Tschö, Auge

--
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett