IE6でDOMを使用した内容が表示されない
いつも、ここの方にはお世話になっております!
表題の通り、下記スクリプトを作成中に動作チェックを行ってみたところ、IE6だと表示されません。
IE6では下記のような書き方では表示されないのでしょうか…。
firefox3だと通常通り表示されます。
<?xml version="1.0" encoding="Shift_JIS" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="ja" xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<title>test</title>
<meta http-equiv="content-script-type" content="text/javascript" />
<meta http-equiv="content-style-type" content="text/css" />
<script type="text/javascript">
<![CDATA[
//カレンダーを作成する
function E(tags){return document.createElement(tags)} //createElement
function B(){return document.getElementsByTagName('body').item(0)} //body要素
onload = function (){
calendar(1,1);
}
function calendar(obj,year,month){
// 月の末日を管理する配列変数
var days = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var week = new Array("日","月","火","水","木","金","土");
cal = E('table');
cal.setAttribute('border','1');
var top_menu = E('tr'); // 見出し用のTR
var menu_bar = E('th'); // 見出し用のTH
top_menu.appendChild(menu_bar);
cal.appendChild(top_menu);
menu_bar.setAttribute('colspan','7');
menu_bar.innerHTML = "aaaaaaaaaaaaaaaaaaaaaaaa";
var weekly = E('tr');
cal.appendChild(weekly);
for(i=0;i<week.length;i++){
var wk = E('th');
wk.innerHTML = week[i];
weekly.appendChild(wk);
}
now = new Date();
B().appendChild(cal);
alert(document.getElementsByTagName('html').item(0).innerHTML);
// tableを作成
}
// ]]>
</script>
</head>
<body>
</body>
</html>
大変お手数ですが、問題点と改善点を教えて頂ければと思います。
firefoxで見たけどデザインちゃっちくね?って言うのは無しで…。
デザインセンスが無いのは十二分にわかっているのでTT
お礼
遅くなってすみません。 ご回答ありがとう御座います。 ご指摘の部分を調整したら、動きました。 しかしなぜ、DOC宣言をいれると、 IEだけで動いたのでしょう。