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

テーブルを直接選択するのではなく、テーブルの 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

于 2013-06-18T16:21:57.990 に答える