javascript - 如何使用 Javascript 使用嵌套循环打印到外循环的输出中?

标签 javascript html loops nested-loops

JavaScript:

var rows = prompt("Enter amount of rows");
    columns = prompt("Enter amount of columns");


            for(counter = 0; counter <= rows; counter++){
                document.getElementById("table").innerHTML += "<tr class=\"rows\"></tr>";

                            for(i = 1; i <= columns; i++){
                document.getElementByTagName("tr").innerHTML += "<td>" + i + "</td>";
            }

HTML:

<div id="wrapper">
		<table id="table">
		</table>
</div>

如何让循环内的循环打印用户输入的列数以及列内“i”的值?当我运行它时,我得到第一个循环的输出,但无法让第二个循环写入第一个循环的输出。我很感激你的帮助。

编辑:

好吧,我尝试修改代码并得到了这个。仍然不起作用,但我认为这是有道理的?我正在尝试使用用户输入制作一个表格。

HTML 保持不变

Javascript:

var rows = prompt("Enter amount of rows");
                columns = prompt("Enter amount of columns");

            if(isNaN(rows) || isNaN(columns) || rows < 1 || columns < 1){
                alert("Please enter a whole positive number!");
            }
                else{

                    for(i=0; i<rows; i++){

                    document.getElementById("table").innerHTML += document.write("<tr>");
                        for(j=1; j<columns; j++){
                            document.getElementById("table").innerHTML += "<td>" + j + "</td>;
                        }
                    document.getElementById("table").innerHTML += document.write("</tr>");
                    }
                }
            }

最佳答案

没有 getElementByTagName,我相信您的意思是 getElementsByTagName 返回元素列表。

一个快速的“解决方案”是将行更改为 document.getElementsByTagName("tr")[counter].innerHTML += ""+ i + "";

如果使用文档元素,我建议使用 document.createElement 和 document.appendChild。

var rows = prompt("Enter amount of rows");
var columns = prompt("Enter amount of columns");

var table = document.getElementById("table");

for(counter = 0; counter <= rows; counter++){
    var row = document.createElement("tr"); //creates our row
    row.className = "rows"; //applies a class

    for(i = 1; i <= columns; i++) {
        var column = document.createElement("td"); //creates a column
        column.appendChild(document.createTextNode(i)); //appends a text node with the value of 'i'
        row.appendChild(column); //Adds the column to our row
    }
    table.appendChild(row); //Add our row to the table
}

关于javascript - 如何使用 Javascript 使用嵌套循环打印到外循环的输出中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28269697/

相关文章:

javascript - 文件阅读器告诉我参数 1 不是 blob?

javascript - 如何隐藏列表中的元素并添加 'show more' 功能?

html - 防止嵌套的导航项进入下一行?

c - Loop后输出错误是strcat引起的?

java - 寻找最短路径(Dijkstra)的方法的实现陷入循环

python - 抓取 PyQt Python ui 文件中的所有 QPushButton

javascript - jQuery 工具提示插件可以根据另一个 div 而不是鼠标来定位工具提示?

javascript - 从具有加权元素的数组中获取随机元素

javascript - 对 JSON 和 Javascript 的安全性感到非常困惑(和担心)

javascript - 使用表单提交操作传递 $_GET 变量