5

我有以下 javascript 在表格底部添加一个新行。

它在 Firefox 中运行良好,但在 IE(版本 8)中无法运行。

据我所知,没有明显的错误。

任何想法都非常有帮助!

function addRow() {

  // locate the last row in the table
  var table = document.getElementById("approversTable");

  var rows = document.getElementsByTagName("tr");
  var rowToClone;
  for (var i=0; i<rows.length; i++) {
    if (rows[i].id != "") {
      rowToClone = rows[i];
    }
  }

  // clone the row
  var clone = rowToClone.cloneNode(true);
  var rowId = Math.floor(Math.random()*100000);
  clone.id = rowId;
  // add the new row to the table
  table.appendChild(clone);

}
4

1 回答 1

2

您应该选择 table tbody 元素而不是直接选择 table。

   function addRow() {
     var table = document.getElementById("approversTable");
     var tbody = table.tbodies[0];
     var rows = document.getElementsByTagName("tr");
      var rowToClone;
      for (var i=0; i<rows.length; i++) {
        if (rows[i].id != "") {
          rowToClone = rows[i];
        }
      }

      // clone the row
      var clone = rowToClone.cloneNode(true);
      var rowId = Math.floor(Math.random()*100000);
      clone.id = rowId;
      // add the new row to the table
      tbody.appendChild(clone);
   }

更多信息请访问:http ://www.w3schools.com/jsref/coll_table_tbodies.asp

于 2013-06-18T16:21:57.990 回答