Javascript 使用嵌套for循环创建HTML表

Javascript 使用嵌套for循环创建HTML表,javascript,jquery,html,Javascript,Jquery,Html,我已经在这方面工作了一天左右,我有点卡住了,所以我希望我能走出这一步,对正在发生的事情有一个更清晰的想法 本质上,我使用嵌套的for循环创建一个HTML表。目标是使表每行跨越7列 var tbl = document.createElement("table"); for (var i = 15; i < 36; i++) { for (var j = 0; j < 7; j++) { var row = document.createElement("t

我已经在这方面工作了一天左右,我有点卡住了,所以我希望我能走出这一步,对正在发生的事情有一个更清晰的想法

本质上,我使用嵌套的for循环创建一个HTML表。目标是使表每行跨越7列

var tbl = document.createElement("table");

for (var i = 15; i < 36; i++) {

    for (var j = 0; j < 7; j++) {
        var row = document.createElement("tr");
        var cell = document.createElement("td");
        var cellText = document.createTextNode(i);

        row.appendChild(cell);
        tbl.appendChild(row);

    }
    cell.appendChild(cellText);

}
$('#calendar').append(tbl);
实际结果:

15
16
17
18
19
20
21
22
23
...
35
为了减少打字量,简化了结果,但如果有人能给我指出正确的方向,我很想知道我可能会在这方面出错。谢谢。

你可以这样试试

var calendar=document.getElementById('calendar');
var table=document.createElement(“表”)/*创建“table”元素*/
var行=3;
var-cols=7;
var计数器=15;
对于(var i=1;i您可以这样尝试

var calendar=document.getElementById('calendar');
var table=document.createElement(“table”);/*Create`table`元素*/
var行=3;
var-cols=7;
var计数器=15;
对于(var i=1;i,这里是:

var tbl=document.createElement(“表”);
对于(变量i=15;i<36;i++){
如果((i-15)%7==0)
{
var行=document.createElement(“tr”);
tbl.追加子项(世界其他地区);
}
var cell=document.createElement(“td”);
var cellText=document.createTextNode(i);
子行(单元格);
cell.appendChild(cellText);
}
$('日历')。附加(待定);
给您:

var tbl=document.createElement(“表”);
对于(变量i=15;i<36;i++){
如果((i-15)%7==0)
{
var行=document.createElement(“tr”);
tbl.追加子项(世界其他地区);
}
var cell=document.createElement(“td”);
var cellText=document.createTextNode(i);
子行(单元格);
cell.appendChild(cellText);
}
$('日历')。附加(待定);

你每次都要创建一行,因此如果你不想每次都创建一行,你认为你应该怎么做?@epascarello自从发布它以来,我一直在研究这个问题。我的第一个想法是将row变量从循环中拉出,而不是每次迭代都创建一行,现在似乎只创建一行。是的,你需要要将它从嵌套循环中拉出,但在循环中不断追加同一行,将它放在for循环之间。如果每次都创建一行,那么如果不想每次都新建一行,您认为应该怎么做?@epascarello发布后,我一直在查看它。我的第一个想法是将row变量拉出是的,你需要把它从嵌套循环中拉出来,但是你不停地在循环中添加同一行,而是把它放在for循环之间。我实际上已经接近这个解决方案了。谢谢!我实际上得到了r非常接近此解决方案。谢谢!您的解决方案比我的更灵活、更优化。您的解决方案比我的更灵活、更优化。
15
16
17
18
19
20
21
22
23
...
35
var tbl = document.createElement("table");

for (var i = 15; i < 36; i++) {
if((i-15)%7==0)
            {
        var row = document.createElement("tr");
        tbl.appendChild(row);
            }
        var cell = document.createElement("td");
        var cellText = document.createTextNode(i);
        row.appendChild(cell);
            cell.appendChild(cellText);
}
$('#calendar').append(tbl);