应该创建表并在页面加载时运行的Javascript代码

时间:2016-11-30 11:11:07

标签: javascript html debugging

Javascript应该在页面加载时运行,创建一个包含10行和10列的表格并将其添加到div" funky&#34 ;,表格的单元格应该包含文本" N M&# 34;其中N是行和列索引的最小值,M是行和列索引的最大值,偶数列中的单元格应该具有紫色的文本颜色。这是我的javascript和html代码



function go() {
  var ROWS = 10;
  var COLS = 10;
  var out = document.getElementsByClassName("funky");
  var table = document.createElement("table");
  table.border = 1;
  for (var i = 0; i <= ROWS; i += 1) {
    var row = document.createElement("row");
    if (i == 2) {
      row.Fontweight = "bold";
    }
    for (var j = 0; j < COLS; j += 2) {
      var col = document.createElement("cell");
      col.innerHTML = i + " " + j;
      if (j / 2 === 0) {
        col.style.color = "purple";
      }
      row.appendChild(col);
    }
    table.appendChild(row);
    document.getElementsByClassName("table");
  }
}
onload = go();
&#13;
<html>
  <head>
    <title>Question 2</title>
    <script src="question2.js" type="text/javascript"></script>
  <head>
  <body>
    <div class="funky"></div>
  </body>
<html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

您的代码中有几处错误。

  • 使用getElementsByClassName时,您需要访问它们 像这样的索引

    var out = document.getElementsByClassName("funky")[0];

  • 您需要在table创建div之后附加tr 在页面上显示。
  • 您需要创建row而不是tdcell而不是function go() { var ROWS = 10; var COLS = 10; var out = document.getElementsByClassName("funky")[0]; var table = document.createElement("table"); table.border = 1; for (var i = 0; i <= ROWS; i ++) { var row = document.createElement("tr"); if (i == 2) { row.style.fontWeight = "bold"; } for (var j = 0; j < COLS; j += 2) { var col = document.createElement("td"); col.innerHTML = i + " " + j; if (j / 2 === 0) { col.style.color = "purple"; } row.appendChild(col); } table.appendChild(row); document.getElementsByClassName("table"); } out.appendChild(table); }

     <?
     <script language='javascript'>
     (javascript code here)
     </script>
     ?>
    

答案 1 :(得分:0)

将HTML代码替换为:

<html>
  <head>
    <title>Question 2</title>
    <script src="question2.js" type="text/javascript"></script>
  </head>
  <body onload="javascript:go();">
    <div class="funky"></div>
  </body>
</html>

将JS代码替换为:

function go() {
  var ROWS = 10;
  var COLS = 10;
  var out = document.getElementsByClassName("funky")[0];
  var table = document.createElement("table");
  table.style.border = "1px solid #000";
  table.style.borderCollapse = "collapse";
  for (var i = 0; i <= ROWS; i += 1) {
    var row = document.createElement("tr");
    if (i == 2) {
      row.style.fontWeight = "bold";
    }
    for (var j = 0; j < COLS; j += 1) {
      var col = document.createElement("td");
      col.innerHTML = i + " " + j;
      if (j % 2 === 0) {
        col.style.color = "purple";
      }
      row.appendChild(col);
    }
    table.appendChild(row);
  }
  out.appendChild(table);
}

您需要使用MOD运算符来理解它是否均匀。在使用border属性之前,您需要使用style属性。