Internet Explorer中的html dom动态表

时间:2011-07-12 20:44:33

标签: javascript html dom

您好我正在练习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有什么值得关注的吗?

1 个答案:

答案 0 :(得分:1)

出于某种荒谬的原因,IE认为TH单元必须在一行的末尾。将每行的TH更改为TD并使用CSS使其文本变为粗体,使其看起来像TH。