[code lang=javascript]
var ueberschriften = new Array();
Das ist Überflüssig. Da du das array soweiso mit einer Collection überschreibst.
for (var i = 0; i < ueberschriften.length; i++) {
if (ueberschriften[i].firstChild.nodeName == "A") {
Das würde ich nicht machen, da die Browser unterschiedliche Ansichten über childNodes haben (bau mal ein Leerezeichen in deinen Quellcode zwischen <h1> und <a..> ein), du willst eigentlich:
ueberschriften[i].getElementsByTagName('a')[0];
Bei der zweiten Variante klappt alles und die Überschriften behalten ihren Zusatz. Das ist zwar schön und gut, aber ich würde gerne verstehen warum das in der ersten Variante nicht klappt bzw. warum der Text wieder verschwindet. Warum muessen die Variabeln in der Schleife deklariert werden?
Du erzeugst ein Element und mit appendChild wird ja nichts kopiert, sondern einfach nur eingefügt.
Struppi.
Javascript ist toll (Perl auch!)