Die Aufgabe
2) JavaScript (14 Punkte)
a) Erläutern Sie detailliert die Wirkung des JavaScript-Codes im Zusammenspiel mit der HTML-Seite aus den folgenden Ausschnitten. Was wird dem Benutzer angezeigt?
<script> window.onload = function() { for (let i = 4; i > 0; i--) { let el = document.getElementById('i' + i); if (/^A/.test(el.innerText)) el.style.display = "none"; };</script><body><h1>Liste:</h1><ul id="u1"> <li id="i1">Anton</li> <li id="i2">Beate</li> <li id="i3">Arthur</li> <li id="i4">Clara</li></ul></body>b) Was ändert sich an der Ausgabe, wenn im Programmcode die Zeichen /^A/ durch /a/ ersetzt werden?
c) Beim Klicken auf einen Namen soll die Farbe aller Namen auf grün geändert werden. Falls sie schon grün sind auf blau. Wie muss der Code geändert werden, um das möglichst einfach zu erreichen?
Gegeben sind ein Script und eine HTML-Seite mit einer Liste aus vier Namen. In (a) soll man genau erklären, was das Script mit der Liste macht und was am Ende zu sehen ist. In (b) wird ein Zeichen im Script geändert. In (c) soll man den Code so erweitern, dass ein Klick die Farbe aller Namen wechselt.
Für die ganze Aufgabe gibt es 14 Punkte. Die Musterlösung nennt für (b) 2 und für (c) 5 Punkte; für (a) bleiben damit 7.
Achtung: Im abgedruckten Code fehlt eine schließende Klammer. Schritt 1 zeigt, wo, und ergänzt sie. Gemeint ist erkennbar der korrigierte Code.
- Die fehlende Klammer ergänzen.
- (a) Liste, onload, Schleife, regulärer Ausdruck, Ausblenden; die Anzeige.
- (b) Was /a/ statt /^A/ trifft; die neue Anzeige.
- (c) Ein Klick-Handler an der Liste, der zwischen Grün und Blau wechselt.