vadnica-logo

JavaScript DOM – manipulacija dokumenta

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.

PRIMER
REZULTAT

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.

Interaktivni primer

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.

Interaktivni DOM primer: Dinamični seznam

0 elementov Namig: dvojni klik za ureditev; klik na besedilo preklopi “opravljeno”; koš odstrani; povleci ročaj ≡ za razvrstitev.

    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.

    Področja DOM

    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.