Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中的表中生成一系列表_Javascript_Loops_While Loop - Fatal编程技术网

在JavaScript中的表中生成一系列表

在JavaScript中的表中生成一系列表,javascript,loops,while-loop,Javascript,Loops,While Loop,我是一个明显的noob,但我在PHP和HTML方面有相当多的经验,我正在尝试使用JavaScript来完成一项我通常使用PHP的任务(我对JS非常陌生)。我试图在表中生成一系列表。共有13行,第一列的每个单元格中有一个数字。在第二列中,每个单元格都有一个表,第一列中有13行。在第二列的每个单元格中都有另一个表,其中有13个单单元格行。这个想法是,它在某种程度上类似于一个树形图 因此,当我在Javascript中讨论这个问题时,我决定使用document.write来绘制表格,这在一开始是可行的,

我是一个明显的noob,但我在PHP和HTML方面有相当多的经验,我正在尝试使用JavaScript来完成一项我通常使用PHP的任务(我对JS非常陌生)。我试图在表中生成一系列表。共有13行,第一列的每个单元格中有一个数字。在第二列中,每个单元格都有一个表,第一列中有13行。在第二列的每个单元格中都有另一个表,其中有13个单单元格行。这个想法是,它在某种程度上类似于一个树形图

因此,当我在Javascript中讨论这个问题时,我决定使用document.write来绘制表格,这在一开始是可行的,所以我继续使用它。我使用while循环生成表中的所有行和表等。但当我完成并最终测试它时,我只有两个单元格,都是1-6。做出大小不一的改变会产生令人惊讶的微小或极端的变化。例如,我在循环结束后结束脚本标记,然后立即打开另一个脚本标记。只有当这两个关闭和打开脚本标记存在时,后面的所有内容才会出现。如果没有它们,循环完成后将不会显示任何内容

以下是我所拥有的:

    <html><body><script>
var x = 13;
var x1 = 13;
var x2 = 13;
var a = -6;
var a1 = -6;
var a2 = -6;
</script>
<script>
document.write("<table border = '1'>");

    while (x >= 0){
        document.write("<tr><td>" + a + "</td><td><table>");
        while (x1>=0){
                document.write("<tr><td>" + a1 + "</td>");
                document.write("<td><table>");

                    while (x2 >= 0){
                        document.write("<tr><td>" + $a2 + "asdf</td>");
                        document.write("<tr/>");
                        x2 = x2-1;
                        a2 = a2 + 1;
                    }
                document.write("</table></td></tr>");
                x2 = 13;
                a2 = -6;
                a1 = a1+1;
                x1 = x1-1;
            }
        document.write("</table></td></tr>");
        x1 = 13;
        a1 = -6;
        x = x-1;
        a = a+1;
    }
// this is the script opening and closing thing I mentioned
    </script>
<script>
    document.write("</table><table border = '1' bordercolor = 'red'><tr><td>nothing</td></tr></table>");
</script>
</body>
</html>

var x=13;
var-x1=13;
var x2=13;
var a=-6;
var a1=-6;
变量a2=-6;
文件。填写(“”);
而(x>=0){
文件。写(“+a+”);
而(x1>=0){
文件。写(“+a1+”);
文件。填写(“”);
而(x2>=0){
编写(“+$a2+”asdf”);
文件。填写(“”);
x2=x2-1;
a2=a2+1;
}
文件。填写(“”);
x2=13;
a2=-6;
a1=a1+1;
x1=x1-1;
}
文件。填写(“”);
x1=13;
a1=-6;
x=x-1;
a=a+1;
}
//这就是我提到的脚本开头和结尾部分
文件。填写(“无”);

桌子看起来乱七八糟,我不知道为什么。如果有人能帮助我理解这一点,或者有一个解决方案,我将不胜感激。

当我尝试运行您的代码时,我得到一个错误:
$a2未定义
$a2
可能应该是
a2
?可能不是您的即时发行,但您应该构建一个字符串,然后通过调用document.write将其放入文档中。在启动另一个脚本以完成该表之前,以部分完成的表结束一个脚本会让浏览器怀疑HTML是否完整。不要使用
文档。编写
,请参阅中的警告。改用DOM方法。但是,如果您决定使用它,首先连接html字符串,然后编写最后一个,而不是单独编写每个字符串。感谢大家的帮助,结果是1$a2把一切都搞糟了。