>>2
書き出される HTML が変なので,
・まず普通の HTML を書き,文法チェックする
・それでうまくいったら,document.write で置き換える
という順序でやってみて下さい(文法チェッカへのリンクは過去ログ・現行ログにたくさんありますので,探してみて下さい)。
----
なお,細かい注意点ですが,
・HTML 4.01 の場合,原則として文書型宣言と title 要素が必須。逆に,html,head,body 要素の開始タグと終了タグは条件次第で省略可です。ですから,最小の HTML 4.01 文書は
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>これでも完全文書</title>
となります。「絶対必要なもの」と「後で覚えれば良いもの」を区別しながら覚えると,後々楽になるでしょう。
・HTML 文書にスクリプトを埋め込む場合,
document.write("</td>");
のように終了タグを書いてはいけません(SGML の短縮タグ機構により,</ が現れた時点で script 要素の終了タグ開始と見なされます)。
document.write("<\/td>");
document.write("<" + "/td>");
のように,「 </ 」という文字列を分離して下さい。script 要素の中身のコメントアウトなんか忘れて結構ですが,こちらのルールは確実に覚えて下さい。
なお,外部スクリプトの場合は必要ありません。