1
嗨,我目前正在練習HTML DOM,我寫了這個函數來創建一個動態表。在Internet Explorer中的HTML DOM動態表
function initScheduleTable() {
var days = new Array("MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN");
var table = document.getElementById("schedule");
var hourPerDay = 24;
var row, cell;
var i, j;
// Time headers
row = table.insertRow(-1);
cell = row.insertCell(-1);
for(i = 0; i < hourPerDay; ++i) {
cell = row.insertCell(-1);
if(i < 10)
cell.innerHTML = "0" + i;
else
cell.innerHTML = i;
}
for(i = 0; i < days.length; ++i) {
row = table.insertRow(-1);
cell = document.createElement("th");
cell.innerHTML = days[i];
row.appendChild(cell);
for(j = 0; j < hourPerDay; ++j) {
cell = row.insertCell(-1);
cell.innerHTML = " ";
}
}
}
這適用於Chrome和Firefox,但不適用於IE9。 IE瀏覽器的日子顯示在最右邊的列。我使用IE開發人員的工具檢查了源,並且它顯示<th>
列在<td>
列表的末尾。
在這種情況下IE有什麼需要注意的嗎?
除了將文本設置爲粗體外,TH還以文本爲中心。 – mrk
我明白了。我可以知道讓IE如此想的原因是什麼? – PSWai
我不知道。我從來沒有見過這個,雖然它在IE 6中,所以我想它已經存在了至少10年左右。發現這種晦澀的錯誤是參與此類討論的一部分。 :-) – RobG