Axel Richter: Problem beim Auslesen von firstChild.id im Firefox

Beitrag lesen

Hallo,

ich möchte per getElementById zu einem beliebigen Tag springen und dort wiederum die id des firstChild auslesen. Funkt. im IE, nicht im FF. Wer hat eine Idee? Danke im Voraus.

<body id="Dokumentinhalt" onLoad="Ausgeben()">

^Hier ist der erste childNode von BODY, also document.getElementById("Dokumentinhalt").firstChild. Das ist ein Textknoten, der den whitespace, erzeugt durch den Zeilenumbruch nach dem BODY-Tag, repräsentiert. Siehe http://de.selfhtml.org/javascript/objekte/node.htm#child_nodes_whitespace. Du willst aber nicht .firstChild, sondern .firstElementNodeChild. Diese Funktion existiert aber nicht.

<h1 id="toll">Das ist Text, der einfach so im Dokument steht.
</h1></body></html>

Du müsstest also alle childNodes des BODY-Elementes ermitteln. Dann müsstest Du diese Collection durchlaufen und prüfen, welches childNode als erstes den nodeType 1, also ElementNode hat. Das wäre dann Dein .firstElementNodeChild.

Oder Du ermittelst einfach document.getElementById("toll"). Was spricht da eigentlich dagegen?

viele Grüße

Axel