3 回答

TA貢獻1799條經驗 獲得超6個贊
在第一個文件中,for您創建一個<tr>添加一些文本并關閉一個</td>.
你很可能應該只打開一個tr,然后在內部for然后關閉tr
for (let i = 0; i < rows; ++i) {
text += "<tr>";
for (let j = 0; j < column; j++) {
let k = (i * rows + j) % 26;
text += "<td>" + letters.charAt(k) + "</td>";
}
text += '</tr>';
}

TA貢獻1821條經驗 獲得超6個贊
您需要<tr>如下所示拆分標簽。這條線引起了問題
text += "<tr>"+ letters.charAt(i) + "</td>";
您得到的異常結果只是因為這個。請參閱下面的代碼,我如何在循環</tr>后使用for并刪除letter.charAt(i). 這是添加了額外的行。
? ? ? ? ?text += "<tr>";
? ? ? ??
? ? ? ? ? ?for(let j = 0; j < column ; j++){
? ? ? ? ? ??
? ? ? ? ? ? ? ?let k = (i * rows + j) % 26;
? ? ? ??
? ? ? ? ? ? ? ?text += "<td>"+letters.charAt(k)+ "</td>";
? ? ? ? ? ?}
? ? ? ? ?text += "</tr>";

TA貢獻1752條經驗 獲得超4個贊
就是這個。?https://jsfiddle.net/Cornel777/kgbojuhz/8/
剛剛添加到
"<td>"
這里text += "<tr>"+ "<td>" + letters.charAt(i) + "</td>";
搬了你的
<script>
后<body>
這樣做了,但這不是強制性的,只是較新的。
let column = document.getElementById("columns").value;
let rows = document.getElementById("rows").value;
?<!DOCTYPE html>
? ??
? ? <html>
? ??
? ? <head>
? ? ? ? <title>""</title>
? ??
? ? ??
? ? </head>
? ??
? ? <body>
? ? ? ? <h1>""</h1>
? ??
? ? ? ? <form name="form" action = "javascript:letter_matrix();">
? ??
? ? ? ? ? ? Columns: <input id="columns" type="text" name="letter_column">
? ? ? ? ? ? Rows: <input id="rows" type="text" name="letter_rows">
? ??
? ? ? ? ? ? <input type="submit" value="Enter values.">
? ??
? ? ? ? </form>
? ??
? ? ? ? <pre id="results">
? ? ? ? </pre>
? ? </body>
? ??
? ? ? <script>
? ? ? ? ? ? function letter_matrix() {
? ??
? ? ? ? ? ? ? ? let column = document.getElementById("columns").value;
? ? ? ? ? ? ? ? let rows = document.getElementById("rows").value;
? ? ? ? ? ? ? ? let text = "<table><th></th>";
? ??
? ? ? ? ? ? ? ? let letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
? ? ? ? ? ? ? ??
? ??
? ? ? ? ? ? ? ? for (let i = 0; i < rows ; i++) {
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ?text += "<tr>"+ "<td>" + letters.charAt(i) + "</td>";
? ??
? ? ? ? ? ? ? ? ? ?for(let j = 0; j < column ; j++){
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ? ?let k = (i * rows + j) % 26;
? ??
? ? ? ? ? ? ? ? ? ? ? ?text += "<td>"+letters.charAt(k)+ "</td>";
? ? ? ? ? ? ? ? ? ?}
? ??
? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? ? ? text += "</table>";
? ? ?
? ? ? ? ? ? document.getElementById("results").innerHTML= text;
? ? ? ? }
? ? ? ? </script>
? ??
? ? </html>
? ??
添加回答
舉報