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