utföras Ofta är det lättare att tänka vad som ska utföras Funktioner låter oss separera ”vad” från ”hur” Definiera uppgiften, lista ut vilka indata som krävs, bestämma vad resultatet ska vara.
av händelsedriven programmering (event handling) Webbläsaren ”lyssnar” efter händelser (musklick) och reagerar genom att anropa den funktion vi angivit
handler (händelsehanterare): en funktion som anropas vid ett event ”Vid händelsen musklick ska funktionen alert anropas” <button onclick="alert('Hej');"> Testa </button>
av HTML-dokumentet i JavaScript Via DOM är det möjligt att manipulera alla egenskaper, för alla element Med DOM kan vi (äntligen?) separera JavaScript från HTML
DOM via objektet ”document” Därifrån kan vi ”navigera” genom trädet // referens till body-elementet: document.body // lista över alla element i body document.body.childNodes
en nod/element i DOM-trädet // Navigera mellan noder på samma nivå node.nextSibling node.previousSibling // Nedåt, barnnoder node.firstChild node.lastChild node.childNodes // alla barn // Uppåt, förälder (bara en) node.parentNode
oss en lista på element av en viss typ document.getElementsByClassName – ger oss en lista på element med en viss klass document.getElementById – ger direkt åtkomst till ett specifikt element
hämta referenser till element Har man en elementreferens kan man ändra attributet ”onclick” … och många andra händelseattribut: http://www.w3schools.com/tags/ref_eventattributes.a sp
Identifiera kritisk funktionalitet och 1. Se till att detta fungerar i alternativa webbläsare 2. Berätta för användaren att något är fel och föreslå en metod för att fixa detta
attributet ”id” Document.getElementsByTagName(tagName) – Identifierar alla ellement av en viss typ Document.getElementsByClassName(tagName) – Identifierar alla ellement med en viss klass Nytt! Element.value – Man kan komma åt ett elements attribut genom punktnotation och attributets namn Element.innerHTML – Man kan komma åt ett elements attribut genom punktnotation och attributets namn
när man kör en funktion genom en event-handler (onclick), pekar på det element som interagerades med. Ex. <p id=”hej”>Hej!</p> var hej = document.getElementById(”hej”); hej.onclick = hello; function hello(){ this; // this innehåller elementet: <p id=”hej”>Hej!</p> this.style.color = ”red”; }
som vi skriver in vår ”att göra” 2. Knappen ”lägg till” 3. Listan där vi ska lägga till vår ”att göra” 4. Knappen ”rensa lista” 2. Vi behöver veta hur man: 1. Skapar ett element i JavaScript 2. Hur man tar bort element i JavaScript
av följande: 1. Ett element (t.ex. <li></li>) 2. Ev. attribut (t.ex <li class=”a”></li>) 3. Ev. textnod (t.ex. <li>lite text</li>) 2. För att skapa ett <li>-element skriver man: var el = document.createElement(”li”); 3. För att skapa en textnod skriver man: var text = document.createTextNode(”text”); 4. För att lägga in textnoden i elementet: el.appendChild(text);
först ha skapat ett element var el = document.createElement(”li”); var text = document.createTextNode(”Hej”); el.appendChild(text); ”el” innehåller nu ”<li>Hej</li>” 2. Leta upp det element vi vill lägga till ”<li>Hej</li>” i: var target = document.getElementById(id); target.appendChild(el);