Problem mit ul und li
Philippo
- javascript
Halöchen
Ich habe ein Menü mit folgender Struktur
<ul id="menu">
<li>
Menu1
<ul>
<li>Subitem1</li>
<li>Subitem2</li>
</ul>
</li>
<li>
Menu2
<ul>
<li>Subitem1</li>
<li>Subitem2</li>
</ul>
</li>
</ul>
Nun möchte ich eine Funktion schreiben dir mir ein einzelnen li Ausblenden. Das hier funktioniert leider nicht:
document.getElementsByTagName("ul")[0].firstChild.style.diplay='none';
Warum?
Gruß
philippo
Hi,
Nun möchte ich eine Funktion schreiben dir mir ein einzelnen li Ausblenden. Das hier funktioniert leider nicht:
document.getElementsByTagName("ul")[0].firstChild.style.diplay='none';
Warum?
Weil das firstChild nicht das ist, was du annimmst.
Auch Textknoten sind ChildNodes, und auch Whitespace zwischen Elementen ist ein Textknoten (das sieht nur der IE anders).
Warum greifst du nicht direkt ueber getElementsByTagName auf die LIs zu?
Das kannst du auch unterhalb des UL-Objektes machen, wenn dich nur dessen LIs interessieren.
MfG ChrisB
Hi
Warum greifst du nicht direkt ueber getElementsByTagName auf die LIs zu?
so geht es auch nicht :-(
document.getElementsByTagName("li")[0].style.diplay='none';
Gruß
herbie
Hallo,
Warum greifst du nicht direkt ueber getElementsByTagName auf die LIs zu?
so geht es auch nicht :-(
document.getElementsByTagName("li")[0].style.diplay='none';
nein, du hast auch den ergänzenden Hinweis ignoriert oder überlesen:
Das kannst du auch unterhalb des UL-Objektes machen, wenn dich nur dessen LIs interessieren.
Du suchst dagegen die li-Elemente nicht innerhalb eines bestimmten ul, sondern im ganzen Dokument - und greifst dann immer auf das erste li-Element im Dokument zu.
So long,
Martin
Hi,
document.getElementsByTagName("li")[0].style.diplay='none';
zusätzlich zum bereits gesagten: die Eigenschaft heißt display, nicht diplay.
cu,
Andreas
Weil das firstChild nicht das ist, was du annimmst.
Auch Textknoten sind ChildNodes, und auch Whitespace zwischen Elementen ist ein Textknoten (das sieht nur der IE anders).
Und Opera.
[latex]Moin![/latex]
Weil das firstChild nicht das ist, was du annimmst.
Auch Textknoten sind ChildNodes, und auch Whitespace zwischen Elementen ist ein Textknoten (das sieht nur der IE anders).Und Opera.
Na, das muß dann aber schon eine *extrem* alte Version sein.
Bei
<ul id="nav">
<li class="skip">
liefert
var f = document.getElementById("nav").firstChild
alert(f.nodeType)
liefert mir Opera bis zurück zur Version 7.54 (2005) als Rückgabe den Wert 3
Cü,
Kai