E-gradiva > Računalništvo > Programiranje > Načrtovanje in razvoj spletnih aplikacij > Javascript > DOM (Document Object Model) > Razred Document

Prijava

Razred Document

Dokument (ali tudi vsebina znotraj enega okvirja, če je stran sestavljena iz okvirjev), ki ga prikazuje brskalnik, JavaScript vidi kot poseben objekt z imenom document.

 

Lastnosti razreda Document

document. title          naslov dokumenta

document. referrer   naslov (URL) spletne strani, ki nas je pripeljala do te strani

document. URL        naslov (URL) te strani

document. domain    ime strežnika, na katerem smo dobili to stran

document. cookie      niz, ki opisuje vse pripadajoče piškotke

document.body         objekt, ki opisuje vsebino dokumenta

document. images[]   zbirka vseh slik

document.applets      zbirka vseh programčkov (napisanih v Javi)

document. links[]      zbirka vseh aktivnih povezav

document. forms[]    zbirka vseh obrazcev

document. anchors[]  zbirka vseh poimenovanih povezav

document.bgColor    barva ozadja

document.fgColor    barva besedila

document.status        nastavljanje statusne vrstice brskalnika (niz znakov lahko definiramo)

Document. lastModified  vrne datum in čas zadnje spremembe dokumenta.

 

Metode  razreda Document

document. open() odpremo nov dokument za pisanje.

document. close()  zapremo dokument 

document. write(vrednost) v dokument napišemo dano vrednost.  

document. writeln(vrednost) v dokument napišemo dano vrednost in še znak za novo vrstico.

document. getElementsByName(ime) vrne zbirko vseh elementov z danim imenom (name).

document. getElementById(ime) vrne element z dano oznako (id).

document. getElementsByTagName(ime značke HTML) vrne zbirko vseh HTML elementov z danim imenom njihove značke. document.createElement(ime) ustvari nov element dane vrste (parameter ime je ime značke).

document.createTextNode(besedilo) ustvari novo besedilo.

 

Primeri:

 


document.getElementsByName document.getElementById in document.getElementsByTagName

            x=document.getElementsByTagName("p");

            funkcija vrne kot rezultat seznam vseh XHTML elementov <p> </p> in ga priredi spremenljivki x.

            var y=x[2]; 

            spremenljivki y smo priredili element, ki predstavlja drugi odstavek dokumenta XHTML.

 

            x=document.getElementById('centriraj') 

            funkcija vrne kot rezultat element, ki ima oznako (id) “centriraj” in ga priredi spremenljivki x.

           

var x=document.getElementsByTagName("p");

document.write(x.length + "  Drugi odstavek:   " + x[1].innerHTML );

 

Metoda document.write izpiše vsebino drugega odstavka dokumenta XHTML.

 

Primer uporabe:

 


document.getElementsByName document.getElementById in document.getElementsByTagName

<html>

       <body>

               <h1>Osnovno besedilo, ki ga procesiramo z DOM:</h1>

               <div name="glava">Na Fakulteti za elektrotehniko, računalništvo in informatiko smo v šolskem letu 2007/2008

                                      začeli izvajati dva študijska programa, ki sta nastala iz študijskega programa "Računalništvo in informatika":

                </div>

                  <div >

                  <div id="naslov">Računalništvo in informacijske tehnologije</div>

                         <p>Osnovno vodilo pri prenovljenem študijskem programu Računalništvo in informacijske tehnologije je

                        uvajanje projektnega načina izvajanja predavanj in vaj, in sicer v povezavi z industrijskimi partnerji in institucijami 

                        družbenega pomena. V začetku drugega letnika se razpišejo predvidoma trije projekti. Vsak projekt vsebuje po osem

                        izbirnih strokovno računalniških predmetov,  ki se izvajajo v letnem semestru drugega letnika in v zimskem semestru

                        tretjega letnika.

                         </p>

                 </div>

                 <div >

                 <div  id="naslov1">Informatika in tehnologije komuniciranja</div>

                          <p>Študijski program Informatika in tehnologije komuniciranja (ITK) je nastal zaradi razvoja tehnologij in

                          zahtev informacijske družbe.  Ustvarjen je z namenom pripraviti svoje diplomante za sodobna, v informacijsko

                          tehnologijo usmerjena delovna mesta prihodnosti, ki zahtevajo znanja razvoja informacijskih rešitev, vodenja projektov,

                          upravljanja omrežij in obvladovanja informacij.

                          </p>

                 </div>

 

Primer uporabe

 


document.getElementsByName document.getElementById in document.getElementsByTagName -nadaljevanje

<h1>Izpis rezultata obdelave:</h1>

              <div>

                   <script type="text/javascript">

                          //določanje odstavkov

                       odstavki=document.getElementsByTagName("p");

                       var vsebina_odstavki= "<h2>Izpis " + odstavki.length + " odstavkov: </h2>";

                         for (var i=0; i<odstavki.length; i++)

                         {

                           vsebina_odstavki=vsebina_odstavki+odstavki[i].innerHTML + "<br /><br />";

                           }

                       //določanje vsebine glavnega naslova

                       glava=document.getElementsByName("glava");

                       var vsebina_glava= "<h2>Izpis glavnega naslova: </h2>" + glava[0].innerHTML+ " <br />" ;

                       //določanje  naslovov

                       var naslov=document.getElementById("naslov");

                       var naslov1=document.getElementById("naslov1");

                       var vsebina_naslov= "<h2>V besedilu  imamo dva naslova </h2>"+

                       "<ul> <li>"+naslov.innerHTML+"</li><li>"+naslov1.innerHTML+"</li></ul>";

                       //izpis vsebin odstavkov, glavnega naslova in ostalih naslovov

                        document.write(vsebina_odstavki+vsebina_glava+vsebina_naslov);                 

                    </script>

               </div>

       </body>

</html>

 

 

Primer spreminjanja vsebine in barve pisave poglavja

 


<html>

       <body>

 

       <h1 id="poglavje" onmouseover="style.color='green'“ onmouseout="style.color='black'">Naslov poglavja</h1>

 

       <script type="text/javascript">

            document.getElementById('poglavje').innerHTML="NOV NASLOV POGLAVJA";

            document.getElementById('poglavje').style.color="red";

       </script>

 

       <p>V našem primeru spremenimo "Naslov poglavja" v "NOV NASLOV POGLAVJA"<p>

 

       </body>

</html>

 

Drevo XHTML elementov (dokumentovo drevo – document tree)

 



<html>  

  <head>

  <title>Moja domaca stran</title>

  </head>

  <body>

    <h1>Moja domaca stran</h1>

    <p>Pozdravljeni na moji domaci strani. Moji priljubljeni glasbeniki so: </p>

      

    <ul>

      <li> Elvis Presley

      <li> Zoran Predin

      <li> Eric Clapton

    </ul>

  </body>

</html>

 

 

Lastnosti, s katerimi posegamo v zgradbo elementov HTML

element.childNodes zbirka elementov, ki so vsebovani v danem elementu.

element.firstChild prvi iz zbirke elementov, ki so vsebovani v danem elementu.

element.lastChild zadnji iz zbirke elementov, ki so vsebovani v danem elementu.

element.parentNode prednik danega elementa.

element.hasChildNodes() vrne true, če dani element vsebuje kakšen drug element.

element.attributes vrne seznam lastnosti elementa

element.baseURI vrne URI naslov dokumenta, v katerem je element.

element.nextSibling vrne naslednika elementa na istem nivoju.

element.nodeName vrne ime elementa ali lastnosti elementa.

element.nodeType vrne tip elementa ( element, lastnost, komentar...),

element.ownerDocument vrne koren dokumentovega drevesa.

element.previousSibling vrne pedhodnika elementa na istem nivoju.

element.tagName vrne ime značke elementa.

element.textContent Nastavi in vrne novo besedilo znotraj elementa.

element.text vrne besedilo elementa in njegovih naslednikov (samo IE).

element.xml vrne XML elementa in njegovih naslednikov (samo IE).

 

Metode, s katerimi posegamo v zgradbo elementov HTML

element. appendChild(novi) na konec zbirke elementov, ki so vsebovani v danem elementu, doda nov element.

element. insertBefore(novi, pred) v zbirko elementov, ki so vsebovani v danem elementu, doda nov element pred dani element.

element. replaceChild() (novi, stari) v zbirki elementov, ki so vsebovani v danem elementu, zamenja stari element z novim elementom.

element. removeChild(stari) dani element odstrani iz zbirke elementov, ki so vsebovani v danem elementu.

element. getAttribute(ime) vrne vrednost dane lastnosti v danem elementu

element. setAttribute(ime, vrednost) elementu nastavi dano lastnost na dano vrednost.

element. cloneNode() podvoji vozlišče.

element. compareDocumentPosition(vozlišče) Primerja pozicijo dveh elementov (element in vozlišče) znotraj dokumentnega drevesa.

element. getAttributeNode(ime) Doda novo lastnost “ime” elementu.

element. hasAttribute(ime) vrne true, če ima element lastnost “ime” .

element. hasAttributes() vrne true, če ima element vsaj eno lastnost.

element. hasChildNodes() vrne true, če ima element vsaj enega otroka.

element. isEqualNode(vozlišče) Preveri, če gre za enako vozlišče.

element. isSameNode(vozlišče) Preveri, če gre za isto vozlišče.

element. removeAttribute(lastnost) izbriše lastnost “lastnost” elementa.

element. removeAttributeNode(lastnost) izbriše lastnost “lastnost” vsem elementom.

element. setAttributeNode(lastnost) doda novo lastnost elementu.