Struppi: Drop Down Menü

Beitrag lesen

navRoot = document.getElementById("wrapNav");

for (i = 0; i < navRoot.childNodes.length; i++) {

globale Schleifenvariabeln, das schlimmste was du machen kannst.

Warum, verstehe ich nicht ganz?

Was passiert, wenn du z.b. inerhablb der schleife eine funktion aufrufst, die ebenfalls eine Scheleife enthält?

Überhaupt solltest du die Variabeln immer mit var lokal machen, dann können sie sich nicht in die Quere kommen.

Wie kann ich die var navRoot = "wrapNav"; oben einbauen?

gar nicht. Du sollst lediglich da wo du die Variabeln deklarierst var davor schreiben

Hier würde ich mal testen ob LI überhaupt Grossgeschrieben wird oder zur Sicherheit gleich:
if (node.nodeName.toUpperCase() == "LI") {
Wenn ich  LI klein schreibe geht nichts mehr!

du sollst nicht LI klein schreiben, sondern testen ob das wirklich in jedem Browser Grossgeschrieben wird (ohne toUpperCase()).

Wobei, warum benutzt du nicht getElementsByTagName()?

ich glaube ich bin jetzt völlig verwirrt.

http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name

kannst du mit nicht bitte mal ein beispiel in bezug auf mein script posten?

würd ich gern, aber ich weiß nicht was das Skript machen soll, da es bei mir weder im FF noch im IE funktioniert und schon gar nicht das Verhalten zeigt, dass du beschreibst (meine Kommentare gestern hatte ich gemacht ohne das Skript zu testen)

Struppi.

--
Javascript ist toll (Perl auch!)