DOM manipulation opdrachten
Opdracht 1
Je hebt de volgende HTML/JS-code.
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<title>Tekstkleur Veranderen</title>
</head>
<body>
<p id="tekst">Dit is een voorbeeldtekst.</p>
<button onclick="veranderKleur()">Verander Kleur</button>
<script>
function veranderKleur() {
// maak de code af en plaats hieronder de code die de kleur van de tekst verandert
...
}
</script>
</body>
</html>
De JavaScript-functie wordt aangeroepen vanuit de onclick
attribuut van de HTML-knop.
Wanneer de knop wordt ingedrukt, moet de kleur van de tekst in het paragraafelement veranderen. Maak hiervoor het script af.
Zorg dat je in het script zoekt naar het element met het id "tekst". als je het element hebt gevonden dan kan je de daarna de kleur aanpassen.
Inleveren
Zet jouw naam als commentaar in de JS-code en lever het geteste en werkende script in.
Opdracht 2
Je hebt de volgende HTML/JS-code:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<title>Achtergrondkleur Veranderen</title>
</head>
<body>
<p class="kleurVerander">Dit is een voorbeeldtekst 1.</p>
<p class="kleurVerander">Dit is een voorbeeldtekst 2.</p>
<p class="kleurVeranderNiet">Dit is een voorbeeldtekst 3.</p>
<p class="kleurVerander">Dit is een voorbeeldtekst 4.</p>
<button onclick="veranderAchtergrondKleur()">Verander Achtergrondkleur</button>
<script>
function veranderAchtergrondKleur() {
// maak de code af en plaats hieronder de code die de kleur van de tekst met de class kleurVerander verandert
...
}
</script>
</body>
</html>
De JavaScript-functie wordt aangeroepen vanuit de onclick
attribuut van de HTML-knop.
Wanneer de knop wordt ingedrukt, moet de kleur van de tekst in alle paragraafelement met de class kleurVerander veranderen. Maak hiervoor het script af.
Maak gebruik van document.getElementsByClassName en gebruik een for-loop.
Denk erom dat document.getElementsByClassName een array met elementen terug geeft en dat je met de loop door het array moet heenlopen.
Bedek zelf een mooie kleur.
Inleveren
Zet jouw naam als commentaar in de JS-code en lever het geteste en werkende script in.
Opdracht 3
Je hebt de volgende HTML/JS-code:
<!DOCTYPE html>
<html lang="nl">
<head>
<meta charset="UTF-8">
<title>Tekststijl Veranderen</title>
</head>
<body>
<h1>Dit is een koptekst</h1>
<p>Dit is een gewone paragraaf.</p>
<p class="speciaal">Dit is een speciale paragraaf.</p>
<div>Dit is een div element.</div>
<p class="speciaal">Nog een speciale paragraaf.</p>
<p id="speciaal">Nog een speciale paragraaf.</p>
<button onclick="veranderTekstStijl()">Verander Tekststijl</button>
<script>
function veranderTekstStijl() {
var elementen = document.querySelectorAll(........);
for (......) {
// Maak de elementen green, bold, and italic (schuingedrukt)
}
</script>
</body>
</html>
Vul de code aan op de puntje en zorg ervoor dat zodra op de knop wordt gedrukt:
- alle elementen met de class speciaal groen, vet en schuingedrukt worden.
Als er weer op de knop wordt gedrukt dan worden:
- alle elementen met de class speciaal worden weer zwarte, niet vet en niet schuingedrukt.
De knop wisselt dus telkens de stijl alle tekst met de class speciaal.
Inleveren
Zet jouw naam als commentaar in de JS-code en lever het geteste en werkende script in.
Opdracht
Je krijgt een eenvoudige HTML-pagina met een invoerveld voor de geboortedatum, een knop, en een leeg element waar een persoonlijke groet zal verschijnen. Jouw taak is om JavaScript te schrijven dat het volgende doet:
- Wanneer de gebruiker op de knop klikt, lees de ingevoerde geboortedatum uit het invoerveld.
- Bereken de leeftijd van de gebruiker op basis van de huidige datum en de ingevoerde geboortedatum.
- Genereer een persoonlijke groet die de leeftijd van de gebruiker bevat en toon dit in het lege element op de pagina.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Persoonlijke Groet</title>
</head>
<body>
<h1>Welkom!</h1>
<div>
<label for="birthdate">Voer je geboortedatum in (YYYY-MM-DD):</label>
<input type="date" id="birthdate" name="birthdate">
</div>
<div>
<button id="greetButton">Toon Groet</button>
<div id="greetingMessage"></div>
</div>
<script>
// Jouw JavaScript code gaat hier
</script>
</body>
</html>
- Voeg een event listener toe aan de knop zodat er een functie wordt uitgevoerd wanneer er op de knop wordt geklikt.
- In de functie, haal de waarde van het geboortedatumveld op en converteer deze naar een JavaScript
Date
object. - Bereken de leeftijd door het verschil tussen de huidige datum en de geboortedatum te nemen. Zorg ervoor dat je rekening houdt met de maanden en dagen (niet alleen de jaren) om de leeftijd nauwkeurig te berekenen.
- Genereer een persoonlijke groet zoals "Hallo! Je bent nu [leeftijd] jaar oud.".
- Toon de groet in het element met id
greetingMessage
door deinnerText
ofinnerHTML
eigenschap van het element aan te passen.
Inleveren
Opdracht
Neem de goedgekeurde opdracht xxx en maak de volgende aanpassingen:
- Voeg een controle toe die verzekert dat de ingevoerde geboortedatum niet in de toekomst ligt.
- Maak de groet persoonlijker door de tijd van de dag te gebruiken (goedemorgen, goedemiddag, goedenavond).
- Voeg stijlen toe aan de webpagina om het er aantrekkelijker uit te laten zien.