Dynaaminen HTML ja DOM

JAVASCRIPT JA DOM KOULUTUSTA VUONNA 2008!

Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi
IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat

 

DOM 1 - mikä muuttui ?

DOM1 määrittely korjasi keskeiset DOM 0 määrittelyn puutteet. Suurimpana hyötynä lienee kyky käsitellä sekä xml- että html dokumentteja. Uuden mallin ansiosta ohjelmoijan on entistäkin helpompi manipuloida dokumenttia. Molemmista valtaselaimista löytyvät samat oliot, samat ominaisuudet ja sekä sama oliohierarkia. Ensimmäistä kertaa (netti)ohjelmoijalla on täysin vapaat kädet sen suhteen miten olioita liitetään dokumenttiin.

DOM1:een sisältyvät seuraavat keskeiset ominaisuudet:

DOM 1 - solmutyypit

Seuraavassa taulukossa on käyty läpi tärkeimmät DOM 1 määrittelyn solmutyypit:

SolmutyyppiSeloste
DocumentOlio, joka esittää dokumentin.
DocumentFragmentOlio, joka esittää dokumentin osaa (voi olla myös koko dokumentti)
NodeViittaus elementtiin, ominaisuuteen tai merkkijonoon
ElementOlio, joka esittää yhden dokumentin elementeistä. Elementti voi sisältää toisen elementin, tekstiä, kommentin, olioviittauksen tai muotoilematonta tekstiä (eli CDATA)
AttributeNimi-arvo - pari, joka esittää elementin jonkin ominaisuuden
CommentsKommentti (selain ohittaa)
TextOlio, joka sisältää elementin tekstin (sisällön). Parsitaan ilman esitystä.
CdataMerkkijono, joka ei sisällä muotoilukoodia. Ei parsita.
EntityAlkio, joka korvataan merkkijonolla. Siis < merkki korvataan merkinnällä <
Entity ReferenceKun alkiota edeltää &-merkki, korvaava merkkijono laitetaan sen paikalle.
Document TypeKokoelma dokumentin olioista.

DOM 1 - Ominaisuudet

DOM 1 - malli tarjoaa ison joukon käyttökelpoisia ominaisuuksia dokumenttipuun hallintaan. Alla olevassa taulukossa on listattu vain luettavissa olevat ominaisuudet ja kokoelmat:

OminaisuusSelitys
attributes[]Sisältää elementin kaikki ominaisuudet.
ChildNodes[]Kokoelma, joka sisältää solmun lapsielementit. (Huom. firstChild, lastChild)
FirstChildEnsimmäinen lapsielementti (sama kuin childNodes[0])
LastChildViimeinen lapsielementti (sama kuin childNodes[n], missä n on kokoelman viimeinen alkio)
NextSiblingPalauttaa solmun vanhemman seuraavan lapsen eli sisaren.
NodeNamePalauttaa elementin nimen.
NodeTypePalauttaa solmun tyypin kokonaislukuna (1=elementti, 3= ominaisuus, 3=teksti).
ParentNodeViittaus solmun vanhempaan
PreviousSiblingPalauttaa solmun vanhemman edellisen lapsen.

Näiden lisäksi on kaksi ominaisuutta, joiden arvoa voi suoraan muuttaa (read-write properties):

OminaisuusSelitys
dataMerkkijono, jossa on solmun sisältämä teksti. Jos solmu ei sisällä tekstiä, arvo on "undefined".
nodeValueMerkkijono, joka sisältää solmun sisältämän tekstin. Jos solmu ei sisällä tekstiä, arvo on "null".

DOM 1 - Metodit

DOM 1 tarjoaa myös laajan valikoiman metodeja, joiden avulla voimme hallita ja muokata dokumenttipuuta. Alla olevassa taulukossa on listattu tärkeimmät Document-olioon liittyvät metodit.

OminaisuusSelitys
document.createElement(elementti)Luo uuden solmun.
document.createDocumentFragment()Luo uuden dokumentin osan.
document.createTextNode(data)Luo uuden tekstisolmun.
document.createAttribute(nimi)Luo elementille ominaisuuden.
Document.getElementsByTagName(elementti)Palauttaa listan solmuista, jotka täsmäävät etsittävän elementin nimeen (NodeList).

HTMLDocument-oliolla on yleisten Document-olion metodien lisäksi seuraavat omat kutsut:

OminaisuusSelitys
HTMLDocument.open()Avaa dokumentin sisällön kirjoittamista varten.
HTMLDocument.close()Sulkee dokumentin.
HTMLDocument.write(teksti)Kirjoittaa tekstiä avoimeen dokumenttiin.
HTMLDocument.writeln(teksti)Kirjoittaa tekstin ja rivinvaihdon avoimeen dokumenttiin.
HTMLDocument.getElementById(id)palauttaa elementin, jonka ID on annettu parametrina.

Node-oliolla on joitain hyödyllisiä metodeja , jotka on vielä tässä syytä käydä läpi:

OminaisuusSelitys
Node.insertBefore(lapsisolmu, viittaus)Lisää lapsisolmun ennen viittausta.
Node.replaceNode(lapsisolmu, viittaus)Korvaa vanhan solmun ennen viittausta uudella solmulla.
Node.removeNode (lapset)Poistaa dokumentin lapsisolmun. Jos parametri lapset annetaan, poistetaan kaikki solmun lapset. Muuten poistetaan vain itse solmu.
Node.appendChild(lapsisolmu)Lisää uuden solmun parametrina annetun solmun lapsisolmuksi.
Node.hasChildNodes()Palauttaa "true", jos solmulla on lapsia.
Node.cloneNode(lapsisolmut)Luo kopion parametrina annetusta solmusta lapsineen. Muuten kopioi vain juurisolmun.
Node.swapNode(solmu)Vaihtaa solmujen paikkaa.

Tutustu artikkelin muihin osiin:
»»» DHTML ja DOM »»» DOM 1
»»» DHTML ja DOM »»» DOM 1 - esimerkki 1.
»»» DHTML ja DOM »»» DOM 1 - esimerkki 2

Tallenna tämä sivu kirjanmerkkeihin!

 

2kmediat.com, ©2000-2008 Koulutus- ja konsultointipalvelu KK Mediat.
Tekijänoikeuksia koskeva tiedonanto | Tietosuojalausunto | Sivukartta