¿Por qué este javascript 'addRow' no funciona en IE?

Tengo el siguiente javascript que agrega una nueva fila al final de una tabla.

Funciona bien en Firefox, pero no funciona en IE (versión 8).

No hay errores visibles, por lo que puedo decir.

¡Cualquier idea es muy útil!

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); } 

Debe seleccionar el elemento tbody de la tabla en lugar de la tabla directamente.

  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); } 

más información en: http://www.w3schools.com/jsref/coll_table_tbodies.asp