我正在尝试使用下面显示的JavaScript(无jQuery)生成DIV表标题行,但没有显示此处的预期输出,而是生成数组中的一行项目(标题以逗号分隔) )。
var main = document.getElementById("left");
var likertTable = document.createElement("DIV"); //main table div
likertTable.setAttribute("class", "divTable");
var tableHeading = document.createElement("DIV"); // table heading
tableHeading.setAttribute("class", "divTableHeading");
var row = document.createElement("DIV");
row.setAttribute("class", "divTableRow");
tableHeading.appendChild(row);
likertTable.appendChild(tableHeading);
main.appendChild(likertTable);
var tableHeader = ["Question", "Strongly Agree", "Agree", "Undecided", "Disagree", "Strongly Disagree"];
for (var i = 0; i < tableHeader.length; i++) {
var tableCell = document.createElement("DIV");
tableCell.setAttribute("class","divTableCell");
row.appendChild(tableCell);
tableCell.innerHTML = tableHeader[i];
}
.divTable{
display: table;
width: 100%;
}
.divTableRow {
display: table-row;
}
/*.divTableHeading {
background-color: #EEE;
display: table-header-group;
}*/
.divTableCell, .divTableHead {
border: 1px solid #999999;
display: table-cell;
padding: 3px 10px;
}
.divTableHeading {
background-color: #EEE;
display: table-header-group;
font-weight: bold;
}
.divTableFoot {
background-color: #EEE;
display: table-footer-group;
font-weight: bold;
}
.divTableBody {
display: table-row-group;
}
<div id="left"></div>
实际变量为var tableHeader = [ranges];
,它在屏幕截图中可以正常显示,并且如果使用TH而不是DIV标记生成常规HTML表,则该代码段可以正确附加。
我要去哪里错了?哦,射!!!问一个回答! var tableHeader = [ranges];
应该是var tableHeader = ranges;
由于脚本在摘要编辑器中完美运行,因此非常方便。
感谢StackOverflow。
答案 0 :(得分:0)
var tableHeader = [ranges];
应该是var tableHeader = ranges;
,因为前者将数组放在两对方括号中,而不会在控制台中引发错误。