在Internet Explorer中使用html dom动态表

html dom dynamic table in Internet Explorer

本文关键字:html dom 动态 Internet Explorer      更新时间:2023-09-26

嗨,我现在正在练习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 = "&nbsp;";
        }
    }
}

这适用于Chrome和Firefox,但不适用IE9。在IE中,日期显示在最右边的一列。我使用IE开发人员工具检查了源代码,它显示<th>列在<td>列表的末尾。

在这种情况下IE有什么需要注意的吗?

由于一些荒谬的原因,IE认为TH单元必须位于一行的末尾。将每行的TH更改为TD,并使用CSS将其文本加粗,使其看起来像TH。