Hallo.
Ich möchte bei meiner Lösung gerne möglichst nah am DOM bleiben und würde folgenden Ansatz wählen:
function erzeuge_verweis(ziel,text)
{
ebene = document.getElementById('ebene01');
link = document.createElement('a');
link.setAttribute('href',ziel);
link.innerText = text;
innerText hat mit DOM nicht wirklich viel gemein. createTextNode() ist der Aufgabenstellung näher.
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 ?
Nutze ein Datenfeld und for() || while().
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 ?
Vor der Frage stand ich auch schon mal. Gelöst habe ich sie der Einfachheit halber durch .innerHTML, da Mozilla dies auch verarbeitet.
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 ?
function erzeuge_verweis(ziel,text)
{
//code für das erzeugen des Verweises
document.[Element].appendChild(document.createElement('br'))
}
Gruß aus Berlin!
eddi