[英]Recursively creating tables in Javascript
我剛剛開始創建一些創建帶有x行的表的東西,您可以在行中放入任意多列。 每當我嘗試運行它時,它只會創建一個單元。 我該如何解決?
var xio = parseInt(prompt("How many weighted areas are in this subject?")) for (i = 5; xio > 0; xio--) { var table = document.getElementById("myTable"); var row = table.insertRow(0); var cell1 = row.insertCell(0); cell1.innerHTML = "NEW CELL1"; var firstRow = document.getElementById("myTable").rows[xio]; var x = firstRow.insertCell(0); x.innerHTML = "New cell"; }
<table id="myTable"></table>
您可以使用以下功能簡單地創建表
function makeTableHTML(myArray)
{
var result = "<table border=1>";
for(var i=0; i<myArray.length; i++) {
result += "<tr>";
for(var j=0; j<myArray[i].length; j++){
result += "<td>"+myArray[i][j]+"</td>";
}
result += "</tr>";
}
result += "</table>";
return result;
}
在您的代碼中,您嘗試選擇table.rows[xio]
但如果xio === 5
,則行號5尚不存在(因為它是迭代1),因此崩潰。
反之亦然。 與其通過減小xio來循環,不如通過增大i來循環。
var xio = parseInt(prompt("How many weighted areas are in this subject?")), table = document.getElementById("myTable"); for (i = 0; i < xio; i++) { var row = table.insertRow(0), cell1 = row.insertCell(0); cell1.innerHTML = "NEW CELL1"; }
<table id="myTable"></table>
沒有第二次輸入的提示,因此即使您的其余代碼正常(不是),也只能有一個單元格。 至於單元格/列,您需要在創建行的循環內的一個循環中創建它們。 請注意演示中循環語法的方式。
var rQty = parseInt(prompt("Number of Rows"), 10); var cQty = parseInt(prompt("Number of Columns"), 10); var table = document.getElementById("xTable"); for (let i = 0; i < rQty; i++) { var row = table.insertRow(); for (let j = 0; j < cQty; j++) { var cell = row.insertCell(); cell.textContent = "NEW CELL"; } }
td { border: 2px ridge #333; text-align: center; }
<table id="xTable"></table>
var rQty = parseInt(prompt("Number of Rows"), 10); var cQty = parseInt(prompt("Number of Columns"), 10); var table = document.getElementById("xTable"); for (let i = 0; i < rQty; i++) { var row = table.insertRow(); for (let j = 0; j < cQty; j++) { var cell = row.insertCell(); cell.textContent = "NEW CELL"; } }
td { border: 2px ridge #333; text-align: center; }
<table id="xTable"></table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.