簡體   English   中英

在javascript中使用document.write創建一個表

[英]Creating a table with document.write in javascript

當我運行我的代碼時,我似乎什么也沒得到,我的代碼應該創建一個 10 x 10 的表。 我應該在使用這個表格時做到這一點。 它也應該使用 for 循環,這樣我就不必重復 100 次。

document.write("<table>") 
document.write("<td>......") 
document.write("</table>")

這是我當前需要改進的代碼。

<script>

       var table = " ";
       var rows = 10;
       var cols = 10;
       for (var r= 0; r < rows;r++)
       {
       table += "<tr>";
       for(var c = 1; c <= cols; c++)
       {

      table += "<td>" + c + "</td>";
       }
       table += "</td>";

       }
      document.write("<table border=1>" + table + "</table>");

       }
</script> 

你的代碼有問題,因為你在最后有一個無效的花括號,你永遠不會結束你的第一個<tr>

這是您的代碼的更正版本:

   var table = " ";
   var rows = 10;
   var cols = 10;
   for (var r= 0; r < rows;r++)
   {
     table += "<tr>";
     for(var c = 1; c <= cols; c++)
     {
       table += "<td>" + c + "</td>";
     }
     table += "</tr>";
   }
   document.write("<table border=1>" + table + "</table>");

我換了線

table += "</td>"

到:

table += "</tr>"

最后我去掉了花括號。

這是代碼的一個工作示例, https://jsfiddle.net/h2qf9aj4/

document.write() 實際上會刪除所有內容,然后在里面寫入文本。 所以你正在做的是寫一個頁面,刪除和寫一些不同的東西,然后寫另一個東西......

你可以做的是通過做附加

document.getElementByTagName('body')[0].innerHTML += "<table>"

在內部 HTML body 標簽的末尾創建一些東西

這是 document.write 和串聯的替代方法:

<script>
  var table = document.createElement("table");
  var rows = 10;
  var cols = 10;

  for(var r = 0; r < rows; r++){
    var row_create = document.createElement("tr");

    for(var c = 0; c < cols; c++){
      var col_create = document.createElement("td");
      row_create.appendChild(col_create);
    }

    table.appendChild(row_create);
  }

  document.body.appendChild(table);
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM