JavaScript DOM (Document Object Model) je objektni model dokumenta, ki predstavlja HTML/SVG/XML kot drevo vozlišč v pomnilniku. JavaScript lahko do teh vozlišč dostopa in jih spreminja. Vsebnik s HTML-om je opisan z vmesnikom Document (za HTML razširjen v HTMLDocument). Vmesnik Element je izboljšan v HTMLElement in različne podrazrede (npr. HTMLDivElement, HTMLInputElement …). API HTML DOM omogoča upravljanje vsebine, slogov, atributov, dogodkov in še več. DOM predstavlja dokument kot logično drevo. Vsaka veja se konča z vozliščem; vozlišča so objekti. Z DOM metodami lahko programsko beremo in spreminjamo strukturo, sloge ali vsebino. Na vozlišča lahko pripnemo obdelovalce podatkov (event handler), ki se sprožijo ob klikih, tipkanju, fokusih itd.
Z objektnim modelom DOM dobi JavaScript vso moč za ustvarjanje dinamičnih, interaktivnih strani.
DOM je W3C standard – platformsko in jezikovno nevtralen vmesnik za dinamičen dostop in posodabljanje vsebine, strukture in sloga dokumenta. Razdeljen je na:
Metode DOM so dejanja, ki jih lahko izvajamo na elementih (ustvari, najdi, odstrani, spremeni …). Lastnosti so vrednosti, ki jih preberemo ali nastavimo. V DOM so elementi objekti z lastnostmi in metodami.
Spodaj je interaktivni primer, ki pokaže ključne DOM operacije: branje vrednosti iz vnosnega polja, ustvarjanje elementov (createElement), vstavljanje v dokument (append/prepend), brisanje (remove), spreminjanje besedila in atributov (textContent, setAttribute), delo z razredi (classList), data-* atributi (dataset) ter t. i. “event delegation” na staršu, da ujamemo klike na dinamično dodanih elementih. Primer je zasnovan tako, da lahko probate: dodaš elemente, jih označiš kot opravljene, jim spremeniš barvo, jih brišeš in spremljaš števec v realnem času.
Uporabljamo: querySelector, createElement, classList, dataset, append, remove, event delegation, drag & drop, localStorage.
Najpogostejši način za dostop do elementa je uporaba ID-ja. V zgornjem primeru metoda
getElementById() poišče element z id="uvod". Najlažji način za
nastavitev vsebine je lastnost innerHTML. Za spreminjanje slogov je
priporočeno uporabljati classList (dodajanje/odstranjevanje razredov), saj je preglednejše kot nizanje
lastnosti style.
| HTML DOM Dogodki | Pregled najpogostejših dogodkov in dela z njimi: addEventListener, fazi zajemanja in mehurjenja (capturing/bubbling), preventDefault, stopPropagation, ter primeri klikov, tipkanja, fokusa in nalaganja. | Glej primer |
|---|---|---|
| HTML DOM Dokumenti | Objekt Document: ključne lastnosti (documentElement, head, body, title, URL, readyState) in metode (getElementById, querySelector, createElement, createTextNode, createDocumentFragment), življenjski cikel DOMContentLoaded vs. load. | Glej primer |
| HTML DOM Elementi | Element/HTMLElement: id, className, attributes, dataset, branje/pisanje vsebine (textContent, innerHTML), upravljanje razredov (classList) in slogov (style), merjenje (getBoundingClientRect), iskanje (children, closest, matches). | Glej primer |
| HTML DOM Zbirke | Razumevanje zbirk elementov, ki jih vrne brskalnik: HTMLCollection (žive zbirke) in NodeList (statične zbirke), dostopanje prek indeksov ter uporaba lastnosti length. | Glej primer |
| HTML DOM Spreminjanje | Ustvarjanje, vstavljanje in odstranjevanje vozlišč: append, prepend, before, after, replaceWith, appendChild, insertBefore, remove; predloge s <template>, DocumentFragment, setAttribute/getAttribute in varnostne opombe pri innerHTML. | Glej primer |
Hvala za obisk! Dodajam politiko zasebnosti.
© 2024 Vse pravice pridržane.
Vam je koda pomagala? Če želite podpreti moj trud pri pripravi vodičev in vzdrževanju strani, mi lahko namenite donacijo za kavo.