Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/02/2015, 16:26
Pantaláimon
 
Fecha de Ingreso: julio-2006
Ubicación: Barcelona
Mensajes: 244
Antigüedad: 17 años, 9 meses
Puntos: 32
Respuesta: intento insertar un parrafo nuevo dentro de un div

La solución de GeekGirl está bien, pero esto no quiere decir que tu enfoque esté mal. Simplemente has tenido un despiste. Fíjate en la documentación de appendChild. Dice que:

Cita:
The returned value is the appended child.
Es decir, que appendChild devuelve el hijo insertado. Así que el valor asignado a la variable p_nuevo será el elemento textNode insertado. Por eso, te ocurre lo que dices ¿Cómo se puede solucionar? Haciendo las cosas paso por paso:

Código Javascript:
Ver original
  1. var contenido = "nuevo parrafo";
  2. // crea y asigna a p_nuevo el elemento párrafo que creas
  3. var p_nuevo = document.createElement('p')
  4. // inserta en p_nuevo el elemento textNode que creas
  5. p_nuevo.appendChild(document.createTextNode(contenido));
  6. // crea una variable datos donde asignar el div contenedor de parrafos
  7. var datos = document.getElementById('datos')
  8. // obten el primer parrafo
  9. parrafo = datos.getElementsByTagName('p')[0];
  10. // inserta el nuevo parrafo antes del primer parrafo
  11. datos.insertBefore(p_nuevo,parrafo);

Un saludo!
__________________
github.com/xgbuils | npm/xgbuils