为什么不''addRow'javascript在IE中工作

why doesn't this 'addRow' javascript work in IE?

本文关键字:工作 IE addRow 为什么不 javascript      更新时间:2023-09-26

我有下面的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);
}

你应该选择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