更新——这是对周一 11 月 26 日问题的完整重写
此代码有效:
name_this_table = "station_list"+i;
station_table = document.getElementById(name_this_table);
for (station_index in station_detail)
{
newRow = station_table.getElementsByTagName("tbody")[0].insertRow(-1);
newCell = newRow.insertCell(-1);
newCell.appendChild(document.createTextNode("one"));
newCell = newRow.insertCell(-1);
newCell.appendChild(document.createTextNode("two"));
newRow = null;
}
但我想使用createDocumentFragment()
,像这样:
name_this_table = "station_list"+i;
station_table = document.getElementById(name_this_table); // NOTE 1
//station_table = document.getElementById(name_this_table).tBodies[0];
var tableFrag;
tableFrag = document.createDocumentFragment();
tableFrag.appendChild(station_table); // NOTE 2
for (station_index in station_detail)
{
newRow = station_table.getElementsByTagName("tbody")[0].insertRow(-1); // NOTE 3
//newRow = tableFrag.getElementsByTagName("tbody")[0].insertRow(-1);
newCell = newRow.insertCell(-1);
newCell.appendChild(document.createTextNode("one"));
newCell = newRow.insertCell(-1);
newCell.appendChild(document.createTextNode("two"));
newRow = null;
}
document.getElementById(name_this_table).appendChild(tableFrag);
我有各种失败要报告——不是运行时错误,而是渲染停止。
- 注 1(上)——我尝试了下面的行(使用
tbodies
)作为替代。 - 注意 2 -- 如果我取消注释此行,则渲染将在该点停止。
- 注意 3 -- 在这里我尝试使用 tableFrag ...