Quería usar elementos DOM en lugar de innerHTML, así que cambié esto
cell3.innerHTML = '<input type="button" class="blue" onclick="edit(this.id)" value="Edit" id=edit-button' + (i + 1) + '></input>';dentro de esto
var newEl = document.createElement("input"); newEl.className ="blue"; newEl.value= "Edit"; newEl.id="edit-button " + (i + 1); newEl.type="button"; cell3.appendChild(newEl); newEl.onclick=function() {edit(newEl.id)};¿Cómo soluciono que el argumento de la función de edición se vuelva nulo/vacío?