Hallo,
Offensichtlich wird im Beispiel 2 die id nicht im Objektbaum "eingehängt". Hat jemand eine andere Erklärung ?
Ich könnte "Heftige Fehler im Code" als Erklärung anbieten.
<html>
<head>
<title>Test</title>
<script language="JavaScript" type="text/javascript">
document.write('<div id="nav_1" style="position:absolute;visibility:hidden"><p>test</p></div>');
function showit()
{document.getElementById("nav_1").style.visibility="visible";}
</script>
<body onload="showit();">
</body>
</html>
Erstens: Bin ich blind oder fehlt hier </head>?
Zweitens: Im Code steht nichts was den Browser implizit zu der Annahme verleitet, der Head sei zu Ende, bis <body> kommt. Also: Dein Head geht bis zum Body.
Drittens: Du schreibst also via JavaScript einen Div in den Head. Der hat da aber garantiert nichts verloren. Im Head zulässige Elemente findest Du in der HTML-Spec http://www.w3.org/TR/html4/struct/global.html#edef-HEAD.
Fazit: Du hast fehlerhaften Code geschrieben. Es liegt keine fehlerhafte Darstellung von Mozilla 1.2 vor.
Grüße,
Utz