Centralt innehåll

Fakta

1. DOM

DOM (Document Object Model) definierar hur ett HTML-dokument är uppbyggt och hur man kommer åt att ändra värden med JavaScript. DOM definierar:

DOM-model

DOM är en standard för hur man hämtar, ändrar, lägger till och raderar HTML-element. Med DOM och JavaScript kan vi skapa dynamiska webbsidor.

JavaScript kan:

2. Metoden getElementById

Det vanligaste sättet att hitta och hämta ett HTML-element är att använda elementets id och metoden getElementById.
Det enklaste sättet att komma åt innehållet i ett HTML-element är att använda egenskapen innerHTML.

Exempel 1

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DOM</title> </head> <body> <h1>JavaScript</h1> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = "Hello World!"; </script> </body> </html>

Exempel 2

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DOM</title> </head> <body> <h2>JavaScript</h2> <p id="demo">JavaScript kan ändra innehållet i HTML-taggar</p> <button onclick='document.getElementById("demo").innerHTML = "Hej, JavaScript!"'> Klicka här! </button> </body> </html>

Övningar

               

3. Hitta ett HTML-element

Om du t.ex. ska ändra ett HTML-element med JavaScript måste man först hitta och hämta elementet.
Det finns några olika sätt att göra det:

MetodBeskrivningExempel
document.getElementById(id); Hitta ett HTML-element med id Exempel
document.getElementsByTagName(name); Hitta element med tagg-namnet Exempel
document.getElementsByClassName(name); Hitta HTML-element med klassnamnet Exempel
document.querySelectorAll(name); Hitta HTML-element med en selektor Exempel

Övningar

           

3.1 Hitta HTML-element, special sedan tidigare version av HTML

MetodBeskrivningExempel
document.body Hämtar <body> elementet Exempel
document.title Hämtar <title> elementet Exempel
document.URL Hämtar dokumentets URL (webbadress) Exempel

Se fler sätt att hitta HTML-element (från tidigare versioner) på w3schools.

4. Ändra HTML-Element


MetodBeskrivningExempel
element.innerHTML = "new html content" Ändra innehållet i ett HTML-element Exempel
element.attribute = "new value" Ändra attributet-värdet på ett HTML-element Exempel
element.setAttribute(attribute, value) Ändra attributet-värdet på ett HTML-element Exempel
element.style.property = "new style" Ändra utseendet (stilmallen) för ett HTML-element Exempel

Exempel - Ändra ett attributs värde på ett HTML-element

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DOM</title> </head> <body> <p>En länk till en <a id="link" href="https://www.expressen.se" target="_blank">tidning</a></p> <button onclick="document.getElementById('link').href='https://www.aftonbladet.se'"> Aftonbladet </button> </body> </html>

Exempel - Ändra utseendet på ett HTML-element

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DOM</title> </head> <body> <h1 id="demo">JavaScript</h1> <button onclick="document.getElementById('demo').style.color = 'red'"> Klicka här! </button> </body> </html>

Exempel - Ändra utseendet på ett HTML-element

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DOM</title> </head> <body> <p id="demo"> JavaScript används för att ändra utseendet på en webbsida. </p> <button value="Hide text" onclick="document.getElementById('demo').style.visibility='hidden'"> Hide text </button> <button value="Show text" onclick="document.getElementById('demo').style.visibility='visible'"> Show text </button> </body> </html>

Övningar

                           

Begrepp

DOM: Document Object Model, definierar hur ett HTML-dokument är uppbyggt och hur man kommer åt att ändra värden med JavaScript.

Element: Start och sluttagg och innehållet mellan dem.

Tagg: Ett märkord/instruktion till hur webbläsaren ska visa något.

Attribut: Extra information i en tagg.

id: Ett attribut alla HTML-element kan ha, men flera element kan inte ha samma värde.

class: Ett attribut alla HTML-element kan ha, flera element kan ha samma värde.

Selektor: Taggnamn, class eller id som identifierar element.

Övningar

                           

       

Inlämningsuppgift

login     logout    

Exit tickets

DOM
Det här är en uppgift där du ska prova på lite olika saker man kan göra med JavaScript. Du kommer också prova på att leta efter information om hur man löser de olika uppgifterna. Se uppgiften

Använd webbläsarens JavaScript-konsol (F12 -console). När saker inte fungerar är det oftast ett fel som skrivs ut i konsolen. Konsolen hjälper dig att hitta fel!

OBS! Använd inte AI-genererad kod med addEventListener eller anonyma funktioner med () =>

Se exempel från tidigare år

Kontrollera:
- Validera HTML
- Validera CSS (om du har någon)
- Använd strict mode.
- Inga fel i konsolen när JavaScriptet körs (F12 - console).
- du har indenterat html & css koden
- startsidan heter index.html
- filnamn med små bokstäver, inga mellanslag eller åäö
- Som med all programmering ska koden vara indenterad, ha bra variabelnamn och vara översiktligt kommenterad.

Lämna in:
Packa (zippa) ihop projektet och lämna in den packade filen i Unikum