Friedel: Javascript-Problem

Beitrag lesen

Ich habe vor einigen Minuten eine umfangreiche Antwort geschrieben, die offensichtlich nicht gespeichert wurde. Ich schreibe das nicht alles nochmal.

Warum muss JS Bilder und Text in ein Element einschließen? Geht das nicht mit einem Tag im HTML Template? Fragen über Fragen ;-D

Sinnvoll sind diese Fragen aber nicht.

querySelector und querySelectorAll gibts auch an einzelnen Elementen. Du kannst Z.B. erst mit document.querySelectorAll("LI") alle LI finden. Dann bei jedem LI mit li.querySelector('UL') prüfen ob sie eine UL enthalten.

Ja, das würde wohl gehen. Ich habe das mit document.getElementsByTagName('ul') gemacht. Außer document.getElementsByTagName('ul')[0] sind das genau die gesuchten <ul>. — Und gerade habe ich einen Fehler in meinem Script gefunden… Das behebe ich erst mal. — Jedenfalls ist das zu bearbeitende <li> das parentNode dazu.

Mit document.createElement kannst du Elemente erzeugen.… Mit appendChild kannst du schon vorhandene DOM Nodes ans neue Element hängen und damit verschieben. Und am Ende das neue Element an der alten Stelle (dem LI?) wieder ins DOM hängen.

Ja, genau da liegt mein Problem. Das habe ich bisher nicht so hin bekommen, wie ich es will. In dem Punkt ist deine Erklärung einfacher, als die in selfhtml. Mal sehen, ob ich damit klar komme.

Mit addEventListener kannst du ihnen Event-Handler verpassen. Das ist besser als href="javascript:".

Gunnar Bittersmann hat mich schon überzeugt, dass <a href="javascript:…"> hier nicht das Mittel dar Wahl ist.

Du willst wohl eine Verknüpfung zwischen A und UL über die ID erzeugen. Mir dünkt das ist nicht vonnöten! ;-D In einem Eventhandler beim A kannst du das zugehörige UL auch ohne ID finden. Es ist ausgehend vom event.target wahrsch. das nextSibling.

Diese Id brauche ich auch noch für andere Funktionen. Ich denke, dass das hier das Mittel der Wahl ist. Aber auch ohne diese anderen Funktionen ist die Zuweisung der CSS-Klassen auf diese Weise in der ordnerlink() imho sinnvoll. Natürlich würde es aber, wie fast immer, auch anders gehen.

Aber draußen wird es (schon wieder) hell. Ich sollte mal ins Bett gehen.

Du kannst dir ja mal http://www.friedels-home.de/ ansehen. Die Navigation habe ich vor etwa 18 Jahren geschrieben. Damals war Php mit immensen Kosten verbunden, die Browser haben Html4 noch nicht standardkonform unterstützt, CSS konnte man kaum nutzen… Netscape Navigator 4 und Opera 3 haben einem das Leben wirklich schwer gemacht. Bis etwa 2006 habe ich die Site noch fleißig gewartet. Aber jetzt ist es Zeit, das ganze neu zu machen. Der ganze Java-Schrott kommt weg, die Scripte müssen größtenteils neu geschrieben werden, der Namibia-Teil kommt auf eine extra-Site usw. Und da ich mit das rechte Sprunggelenk und links einen Zeh gebrochen habe, habe ich jetzt etwas Zeit für sowas.