javascript - 为什么这个 'addRow' javascript 在 IE 中不起作用?

标签 javascript internet-explorer firefox

我有以下 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);

}

最佳答案

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

   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

关于javascript - 为什么这个 'addRow' javascript 在 IE 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17173470/

相关文章:

debugging - cfx运行后如何调试firefox扩展?

悬停时jquery图像调整大小不能在firefox上正常工作

javascript - 如何在 FireFox 调试器中调试 JSP 嵌入的 JavaScript?

javascript - 为什么 mime 类型通常设置不正确?

javascript - 计算数组中的(子)元素

css - IE7 表单放在单列而不是双列

C# 电子邮件嵌入图像在 IE 中不显示

javascript - php jquery 投票系统

internet-explorer - 使用 AutoIT 屏蔽 IE 中的导航声音?

javascript 函数破坏下拉菜单,但仅在 Firefox 中