ugrás a tartalomhoz

GetElementsByTagName működése

merlin6b · 2008. Május. 13. (K), 08.23
Van egy HTML kod:
  1. <html>  
  2. <head>  
  3.   <title>My title</title>  
  4. </head>  
  5. <body>  
  6.    <ul class="my class">  
  7.      <li>one</li>  
  8.      <li>two</li>  
  9.    </ul>  
  10. </body>  
  11. </html>  
es van egy JavaScript kod:
  1. var mynode = document.getElementsByTagName("ul");  
A Javascript a "mynode" valtozoban tarolja csak az "ul" element nevet vagy tartalmaza a class adatokat is, peldaul "my class" ?
 
1

Próbáld ki

Török Gábor · 2008. Május. 13. (K), 08.31
Miért nem próbálod ki? Célszerszámmal (Firebug, Dragonfly) átnyálazhatod a teljes visszakapott objekumot. Mellesleg a kérdésedre a válasz: igen.
2

Nem nevet tárol

Balogh Tibor · 2008. Május. 13. (K), 09.04
A Javascript a "mynode" valtozoban tarolja csak az "ul" element nevet vagy tartalmaza a class adatokat is, peldaul "my class"


Nem nevet tárol, hanem objektumot, illetve az arra való hivatkozást. A getElementsByTagName tömbbel tér vissza, esetleg használhatod így is:
  1. var mynode = document.getElementsByTagName("ul")[0];  
3

hm

merlin6b · 2008. Május. 13. (K), 10.41
Ok ertem de, hogy kapom meg a class nevet ? Az alert(mynode[0].nodeName); csak UL-t jelenit meg.
4

mi mást jelenítene meg?

rudo · 2008. Május. 13. (K), 11.42
ez elég logikus, hiszen a node nevét kérdezed le. talán próbáld meg az osztály nevét:
alert(mynode[0].className)
5

kosz

merlin6b · 2008. Május. 13. (K), 23.35
Ok nem tudtam, hogy letezik className