Porque solo estás creando un nodo de texto, lo cual no es lo mismo que insertar un elemento
<input>
, que es lo que pretendes. Básicamente estás creando un nodo de texto cuyo texto es dicha línea de código HTML, que es lo que terminas viendo.
Apóyate usando el método
.insertAdjacentHTML()
:
Código Javascript
:
Ver originalelements[i].insertAdjacentHTML("beforeend", "<input type='button' name='boton7' value='7' />");