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

[FRAGE] Warum wird die Klasse nicht angesprochen?

oOLupusOo

New member
Hallo!
Wage mich gerade ein wenig in DOM und versuche die Schriftgröße per Button zu ändern.
Eigentlich ganz einfach.
Allerdings weiß ich nicht, wieso ich (test auch per alert drin) nicht, warum die Klasse im entsprechenden divContainer nicht angesprochen wird, sodass ich sie ändern kann. Meine Vermutung ist, dass es was mit Elternelementen usw. zu tun hat, wo ich mich allerdings noch nicht sehr auskenne

HTML:
<!DOCTYPE  html>
<head>
<style>

.Schriftclass {
	
}
.Schrift8class {
	font-size: 2em;
}
</style>
<script>

function Listener(){
	document.getElementById("Button8").addEventListener("click",Zeichengroesse8)
}
	function Zeichengroesse8(){
		var nav = document.getElementById("Text").getElementsByClassName("Schriftclass")
		alert(nav.classList)
		nav.classList.add("Schrift8class")
		nav.classList.remove("Schriftclass")
	}




window.onload = Listener;
</script>
</head>
<body>

	<div id="Zeichengroesse">
	<ul id="ZeichengroesseListe">
		<li><button type="button" id="Button8" style="width: 2em;">8</button></li>
		<li><button type="button" id="Button10" style="width: 2em;">10</button></li>
		<li><button type="button" id="Button12" style="width: 2em;">12</button></li>
	</ul>
	</div>
	
	<div id="Text" class="Schriftclass">
		<p >Hallo, diese Seite soll sich beim Knopfdruck in der Schriftgroesse anpassen</p>
	</div>
</body>
</html>
 
Danke, für beide Antworten!
Was muss ich da genau jetzt ändern?
Wie spreche ich sonst den div-container und die Elemente darin an?
 
Wie spreche ich sonst den div-container und die Elemente darin an?
einzeln.

Scherz beiseite. Alle getElementsBy* Methoden geben eine Liste zurück (egal ob da 0, 1 oder viele Elemente drin sind), wenn du also ein Element aus der Liste ansprechen willst, tust du das über seinen Index. Willst du alle Elemente ansprechen, nimmst du eine Schleife.

PS. wenn es eh nur ein div Element ist, versuch’s doch mal mit document.querySelector().
 
Zurück
Oben