XaraX: Wann kommt ein JavaScript in den HEAD und wann in BODY ?

Beitrag lesen

Hallo Oli,

um valides (X)HTML zu schreiben MUSS das script-Element im head-Element sein und darf nirgends anders auftauchen. Das hängt direkt mit den DTDs für die einzelnen (X)HTML-Varianten zusammen.

...
<script>
document.getElementById("text").style.border="1px solid red"
</script>
</head>
<body>
<p id="text">der Text</p>
...

Dieses Beispiel wäre valid, liefert aber kein Ergebnis, da ein Browser Dokumente Zeile für Zeile einliest und das script nach Einlesen des script-Elements sofort ausgeführt wird.
Zu diesem Zeitpunkt ist dem Browser das Element mit ID "text" noch nicht bekannt.

...
</head>
<body>
<p id="text">der Text</p>
<script>
document.getElementById("text").style.border="1px solid red"
</script>
...

Dieses wiederum ist nicht valid, liefert aber das erwünschte Ergebnis, da dem Browser das Element mit der ID "text" jetzt bekannt ist.
Darum ist <script> teilweise auch im <body> (de-)platziert.

Gruß aus Berlin!
eddi