Jos: Navigation ausschliesslich via DOM erstellen

Beitrag lesen

Hallo.

Mich beschäftigt folgende Aufgabenstellung:

Ich möchte gerne eine Navigationsleiste vollständig mit Javascript erzeugen und über

<script src="Navigation.js" type="text/javascript"></script>

in jede Seite einer Website einbinden.
Die Navigation würde dann (nur einmal erstellt) - immer an derselben Stelle im jedem der Dokumente erscheinen. Der Einsatz von Frames wäre damit umgangen.

Ich möchte bei meiner Lösung gerne möglichst nah am DOM bleiben und würde folgenden Ansatz wählen:

Die erste Funktion erzeugt einen Link-Knoten ("a"), der in eine Ebene ("ebene01") eingehängt wird.
Parameter der Funktion sind das Verweisziel des Links ("ziel")  und der Text des Links ("text") :

function erzeuge_verweis(ziel,text)
{
ebene = document.getElementById('ebene01');
link = document.createElement('a');
link.setAttribute('href',ziel);
link.innerText = text;
ebene.appendChild(link);
}

Um mehrere Links zu erstellen - eine zweite Funktion, die mit 'onload' die Navigation erstellt.

function erzeuge_verweise()
{
erzeuge_verweis('Ziel_1.html','Zur Zielseite 1');
erzeuge_verweis('Ziel_2.html','Zur Zielseite 2');
erzeuge_verweis('Ziel_3.html','Zur Zielseite 3');
}

<body bgcolor="#ffffff" onload="erzeuge_verweise()">

<div id="ebene01"></div>

Frage 1: Mir scheint die Umsetzung noch etwas plump zu sein, insbesondere der Umweg über eine zweite Funktion, um mehrere Links zu erzeugen. Gibt es hier nicht eine elegantere Lösung ?

Frage 2: Mit "setAttribute" kann ich ein Attribut für das Element 'a' definieren. Wie aber muss das ganze aussehen, wenn ich weitere Attribute (z.B. noch eine Klasse)  für das Element 'a' definieren möchte ?

Frage 3: In meinem Konstrukt stehen die Verweise noch nebeneinander, sie sollen aber untereinander erscheinen - es braucht also ein <br> Tag nach jedem Verweis. Wie löse ich das 'Problem' DOM-gerecht und elegant ?

Mfg Jos