console.clear(); // Console tonen door F12 console.log("DOM en events"); let getallen = [14, 2, 1, 5, 3, 7, 12, 8]; getallen.sort(); console.log(getallen); getallen.sort((a, b) => a - b); console.log(getallen); getallen.sort((a, b) => b - a); console.log(getallen); let getallen2 = [14, 2, 1, 5, 3, 7, 12, 8]; getallen2.sort(function(a, b) { if (a > b) { console.log(`${a} > ${b}`); return -1; } else if (a < b) { console.log(`${a} < ${b}`); return 1; } else { console.log(`${a} = ${b}`); return 0; } }); console.log(getallen2); class Artikel { constructor(naam, prijs) { // geen keyword function this.naam = naam; this.prijs = prijs; } toString() { return `${this.naam}: ${this.prijs}`; } } artikelen = [new Artikel("pen", 1.5), new Artikel("gum", 0.5), new Artikel("potlood", 0.7)]; artikelen.sort(); console.table(artikelen); artikelen.sort((a, b) => a.naam < b.naam ? 1 : a.naam > b.naam ? -1 : 0); console.log(artikelen.join("\n")); artikelen.reverse(); console.log(artikelen.join("\n")); // HTMLCollection omzetten naar array: Array.from(collection); // Ook vanaf element te gebruiken. test = document.getElementsByTagName("li"); for (let x of test) { console.log(x.textContent); } console.log(test[1]); test = document.getElementsByClassName("menu"); for (let x of test) { console.log(x.textContent); } console.log(test[0].getElementsByTagName("ul")[0]); test = document.querySelector("div span"); console.log(test.textContent); test = document.querySelectorAll("li"); console.log(test[2].textContent); // DOM wijzigen function createLink(href, tekst) { var link = document.createElement("a"); // maak element var text = document.createTextNode(tekst); // maak tekst link.appendChild(text); // voeg tekst toe aan element link.setAttribute("href", href); // geef attribuut aan element return link; } var mijnLink = createLink("http://www.vijfhart.nl", "Vijfhart"); var result = document.getElementById("result"); result.appendChild(mijnLink); var inhoud = "Vijfhart 2"; result2.innerHTML = inhoud; /* Opdracht pagina 116 */ var lijstje = ["Bananen", "Appels", "Bessen", "Kersen"]; var lijst = document.getElementById("lijst"); for (let x of lijstje) { var link = document.createElement("li"); // Maak element
  • var text = document.createTextNode(x); // Maak tekst die tussen
  • en
  • moet komen link.appendChild(text); // Zet inhoud/tekst tussen
  • en
  • lijst.appendChild(link); // Zet resultaat vorig statement tussen } var lijst2 = document.getElementById("lijst2"); // Zoek id lijst2 in HTML lijst2.innerHTML = "
  • Sate
  • Kipfilet
  • "; // Zet dit in gevonden HTML element var arrayLijst = ["Brood", "Sla", "Suiker", "Vis"]; lijst3.innerHTML = arrayLijst.map((a, i) => `
  • ${a}
  • `) .join("\n"); // \n is niet nodig console.log(lijst3); function createList(elements) { let list = document.createElement("ul"); for (let x of elements) { var link = document.createElement("li"); // Maak element
  • var text = document.createTextNode(x); // Maak tekst die tussen
  • en
  • moet komen link.appendChild(text); // Zet inhoud/tekst tussen
  • en
  • list.appendChild(link); // Zet resultaat vorig statement tussen } return list; } let myList = createList(arrayLijst); document.body.appendChild(myList); let myList2 = createList(["Kat", "Hond", "Paard"]); document.body.appendChild(myList2); /* knop.addEventListener("click", function() { result.value += "A"; }, false); // false (propagatie) is default, mag dus weg gelaten worden knop.addEventListener("click", function() { resultje.value += "B"; }); result.onfocus = function() { this.style.color = "red"; } */ // event : preventDefault() // Controleer ingevoerde postcode var postcode = document.getElementById("postcode"); postcode.addEventListener("change", function(e) { var re = new RegExp(e.target.pattern); var text = e.target.value; var label = document.querySelector("[for='postcode']"); if (re.test(text)) { label.textContent = "geldige postcode"; label.style.color = "inherit"; } else { label.textContent = "ongeldige postcode"; e.target.focus(); e.target.value = ""; label.style.color = "red"; } }); var test = document.getElementById("test123"); test.classList.add("sterk"); test.classList.remove("rood"); if (test.classList.contains("sterk")) { test.classList.replace("sterk", "onderstreept"); } test.classList.toggle("onderstreept"); // zet aan/uit // Opdracht pagina 129 var knop = document.getElementById("knop"); knop.onclick = function() { if (tekst.classList.contains("zichtbaar")) { tekst.classList.replace("zichtbaar", "onzichtbaar"); knop.textContent = "toon"; } else { tekst.classList.replace("onzichtbaar", "zichtbaar"); knop.textContent = "verberg"; } //tekst.classList.toggle("onzichtbaar"); } // Opdracht pagina 130 //var input = document.getElementById("invoer"); var input = document.querySelector("#invoer"); //invoer.value="testje"; invoer.addEventListener("change", function(e) { let tekst = e.target.value; tekst = tekst.toUpperCase(); //console.log(tekst); var output = document.getElementById("uitvoer"); output.textContent = tekst; input.value = ""; // null }); // Opdracht pagina 131 let namen = { values: ["jan", "pier", "joris"], add: function(value) { if (this.values.indexOf(value) == -1) { this.values.push(value); } }, toList: function() { this.values.sort(); return this.values.map(val => `
  • ${val}
  • `).join(""); } }; namen.add("corneel"); console.log(namen.values); console.table(namen.values); console.table(namen.toList()); let invoer2 = document.getElementById("namen"); invoer2.addEventListener("change", function(e) { let naam = e.target.value; let lijst = document.querySelector("ul"); // de eerste ul wordt genomen namen.add(naam); lijst.innerHTML = namen.toList(); e.target.value = null; }) // Opdracht pagina 132 let getal1 = document.getElementById("getal1"); let getal2 = document.getElementById("getal2"); let som = document.getElementById("som"); let x = 0; let y = 0; function verwerkGetal(e) { let inhoud = e.target.value; let getal = Number.parseFloat(inhoud); if (e.target.id === "getal1") { x = getal; } else if (e.target.id === "getal2") { y = getal; } som.textContent = `De uitkomst is ${x+y}`; } getal1.addEventListener("change", verwerkGetal); getal2.addEventListener("change", verwerkGetal);