ちょっとしたことを試すだけのページでも、body開始タグは省略しないこと

<!DOCTYPE HTML>
<meta charset="UTF-8">
<title>TEST</title>

<div id="result"></div>

<script>
document.getElementById('result').innerHTML = '12345';
</script>

IE8とFirefox3.6ではエラーとなる。開発者ツール/Firebugで見ると、末尾のscript要素がhead要素の子になっている。内容のない要素はスキップしてしまうのかな。不思議。
div#resultの前にbody開始タグを入れると解決。head終了タグでは駄目だった。