Hola:
Viendo tu código, cuando quieres borrar lo haces desde un botón inmediatamente después del campo de texto... y por cierto, el div que estás poniendo lo estás dejando vacío, así que puedes cambiarlo simplemente por un br
En resumen, tu botón de borrado ahora debería implicar al propio botón y a los 2 tags anteriores (previousSibling), entonces en vez de this.name sería mejor que el parámetro sea this y el contenido...
function borrar(elemento) {
elemento.parentNode.removeChild(elemento.previousS ibling);// borramos el campo
elemento.parentNode.removeChild(elemento.previousS ibling);// borramos el div
elemento.parentNode.removeChild(elemento); //borramos el propio botón
}
Al borrar el primer previousSibling (Nodo anterior) al usar nuevamente previousSibling se refiere al nodo anterior... si te diese problemas podrías usar en primer lugarel anterior del anterior (previousSibling.previousSibling) aunque no creo que falle...
Saludos