Weblap Visszalépés

Egyedi id azonosítók lekérdezése.1205

document.getElementById('id')
Visszaadja a megadott id attribútummal rendelkező elemek (mint objektumok) listáját.

Szabály: Minden html fájlban, ugyanazon id azonosítóval, csak 1, azaz, egy jelölőelem rendelkezhet.
Oka: Külső vezérlő programok, (mint például a JavaScript is) nem tudják egyértelműen és elkülönülten kezelni az eseményeket, és jelölőelemeket.

Első példánkban felrúgjuk a szabályt:
Az első kettő "p" jelölőelemnek, egyforma id azonosítót, stílusként 16px betűméretet, és sárga háttérszínt határozunk meg, majd teszteljük, hogy mi történik.


<p id="p01">Alma</p>
<p id="p01">Dió.</p>

Fenti programunk így jelenik meg:
Megjelenésük mért eltérő, megtudjuk a következő programunkból.

Alma.

Dió.


A következő JS programunkkal, rákeresünk az id="p01" azonosítóval rendelkező elemekre, és megváltoztatjuk stílusukat.
A CSS fájlban sárga háttérszínt határoztunk meg mindkettőnek, és így jelennek meg mindaddig, még JS programunkkal más háttérszínt, nem határozunk meg.

JS programunk, melyiket azonosította egyértelműen?
Határozzunk meg, az id="p01" azonosítóval rendelkezőknek:

- Fehér háttérszínt: style.backgroundColor="white";
- Piros betűket: style.color="red";
- És 28px betűméretet: style.fontSize="28px";

Keressük meg, az id="p01" azonosítóval rendelkező jelölőelemeket, és írassuk ki darabszámukat (db).
Kettő darab ilyen elemünk van, programunk egyértelműnek, csak egyet jelez, és azt, melyet elsőnek megtalált.

<script type="text/javascript">
var id=document.getElementById('p01');
      for ( var i=1; i<id.length; i++) 
       {   // Feladatot nem határozunk meg, csak számlálunk!    }

    document.write('A  <p id="p01"> elemek száma= </b>' + i);
	
// Változtassuk meg, a p01 id azonosítóval rendelkező jelölőelemek tulajdonságát:
id.style.fontSize="28px";
id.style.color="red";
id.style.backgroundColor="white";
</script>

Teszt programunkból is kiderül, hogy egyértelmű azonosításra, minden jelölőelemnek más és más elnevezésű, id azonosítóval kell rendelkeznie.

Böngészőnkben, frissítsük az oldalt többször is.
- Egyértelmű stílus meghatározás, csak az első id="p01" azonosítóval rendelkező jelölőelemnél figyelhető meg.
- Másodikra, nem vonatkoznak egyértelműen, a JS stílus meghatározások.
- Betűméret és betűszín váltakozhat, a háttérszín nem, marad a CSS fájlban meghatározott stílus.

 


 

Elhelyezün 8 db. <li> elemet oldalunkon.
- 3 db. nincs beágyazva egyetlen más elembe sem.
- 5 db. a <div id="listas_elemek"> div szakaszban található.

<ul>
    <li> Külső li elem01. </li>
    <li> Külső li elem02. </li>
    <li> Külső li elem03. </li>
</ul>

<div id="listas_elemek">
  <ol>
     <li> 1. Beágyazott li elem. </li>
     <li> 2. Beágyazott li elem. </li>
     <li> 3. Beágyazott li elem. </li>
     <li> 4. Beágyazott li elem. </li>
     <li> 5. Beágyazott li elem. </li>
  </ol>
</div>

Fenti peogramunk így jelenik meg:

  1. Beágyazott li elem.
  2. Beágyazott li elem.
  3. Beágyazott li elem.
  4. Beágyazott li elem.
  5. Beágyazott li elem.

Kérdezzük le:
<div id="listas_elemek"> div szakaszban, mennyi <li> elem van?

Az elemek keresése témakörben alkalmazott document.getElementsByTagName("....."); utasítással, oldalunkon található bármely jelölőelem típus listáját lekérdezhetjük.
Így lekérdezett elmetípust a program, tömb formátumban, sorszámozva tárolja.
Példa: Az első elem = tomb[0]

Most kérdezzük le, hogy a <div id="listas_elemek"> div szakaszban mennyi <li> elem van?

 <script type="text/javascript">
     var id = document.getElementById('listas_elemek');
         var li_elemek = id.getElementsByTagName('li');
             for (var i=0; i<li_elemek.length; i++)   
              { 
                // kód, azaz mit csináljon programunk. Jelenleg semmit, csak számol.  
              } 
document.write('A <div id="listas_elemek"> területen található, <li> elemek száma= ' + i);
 </script>

Fenti kódot megírhatjuk rövidebben is!

<script type="text/javascript">
var li_elemek=document.getElementById('listas_elemek').getElementsByTagName('li').length;
document.write('<div id="listas_elemek"> területen található, <li> elemek száma = ' + li_elemek);
</script>

 


 

Navigációs linkek (hivatkozások) keresése, beazonosítása:
Program megegyezik azzal a példával, ahol a <li> elemeket kerestettük meg.
Eltérés annyi, hogy most, egy tömbbe gyűjtjük és tároljuk az adatokat.
Tömbelemek sorszámozása 0-val kezdődik. Példa: a_tomb[2], a 3. <a> elemnek felel meg.

Példa:
Div szakasz, egyedi azonosítója:
id="nav_linkek"
A div szakaszban, 6 darab navigációs linket helyezünk el, melyek szintén egyedi azonosítóval rendelkeznek.

<div id="nav_linkek">
<a href="#link" id="nav01"> 1. hivatkozási link.</a> <a href="#link" id="nav02"> 2. hivatkozási link.</a> <a href="#link" id="nav03"> 3. hivatkozási link.</a> <a href="#link" id="nav04"> 4. hivatkozási link.</a> <a href="#link" id="nav05"> 5. hivatkozási link.</a> <a href="#link" id="nav06"> 6. hivatkozási link.</a> </div>

Fenti programunk, így jelenik meg:
(A 3. és a 6. link, mért rendelkezik más tulajdonsággal, megtudhatjuk a következő programokból.)

Navigációs linkek <a> keresése a <div id="nav_linkek"> területén!

<script type="text/javascript">
var a=0;
var a_tomb= new Array();
var nav=document.getElementById('nav_linkek').getElementsByTagName('a');
 for (var i=0; i<nav.length; i++)  
   { 
     a_tomb[a]=nav[i];
     a++;  
   }
linkek_szama = a_tomb.length;
document.write('A <div id="nav_linkek"> területen található, <a> elemek száma= ' + linkek_szama);

// A  3.<a> hivatkozási link, új tulajdonságának meghatározása.	
     a_tomb[2].style.backgroundColor="blue";   // Kék háttérszín.
     a_tomb[2].style.color="white";                  // Fehér betűszín. 
     a_tomb[2].style.fontSize="18px";              // Betűméret 18px.
</script>

Jelen esetben a html fájl megírásakor, nem csak a div szakasz kapott egyedi id azonosítót,
a linkek is egyedi id azonosítóval rendelkeznek.

Ebben az esetben egyenes ágon is, rákérdezhetünk bármelyik egyedi id azonosítóval rendelkező jelölőelemre.

A sárga háttérszínnel kiemelt részre, írjuk be azon jelölőelem egyedi azonosító nevét, melyet be akarunk, azonosítani.
Példa:
Keressük meg a 6. <a> elemet, és határozzunk meg, új tulajdonságokat.

<script type="text/javascript">
var beazonositott=document.getElementById('nav06')
    beazonositott.style.backgroundColor="white";     // Fehér háttérszín.
    beazonositott.style.color="blue";                // Kék betűszín.
    beazonositott.style.fontSize="18px";             // Betűméret 18px.
		
// Meglévő szöveg után, beíratjuk a következő szöveget,(" --- utolsó teszt link")
   beazonositott.innerHTML +=" --- utolsó teszt link";
</script>

 

 


 

 

 

 

 

 

Vissza a lap elejére