您好我正在练习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有什么值得关注的吗?
答案 0 :(得分:1)
出于某种荒谬的原因,IE认为TH单元必须在一行的末尾。将每行的TH更改为TD并使用CSS使其文本变为粗体,使其看起来像TH。