Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/10/2010, 09:43
Avatar de Tecna
Tecna
 
Fecha de Ingreso: enero-2010
Mensajes: 291
Antigüedad: 14 años, 4 meses
Puntos: 45
Respuesta: appendChild a la "inversa"

Buenas,

puedes utilizar el método insertBefore para insertar un elemento delante de cualquier otro, por ejemplo:

Código Javascript:
Ver original
  1. function init()
  2. {
  3.     var crearP = document.getElementById('crear');
  4.     crearP.onclick = crear;
  5. }
  6.  
  7. window.onload = init;
  8.  
  9. function crear()
  10. {
  11.     var cont = document.getElementsByTagName('div')[0]; // primer div
  12.     var nuevo = document.createElement('p');
  13.     nuevo.innerHTML = 'nuevo parrafo';
  14.     var ref = cont.getElementsByTagName('p')[0]; // primer p dentro de cont
  15.     cont.insertBefore(nuevo, ref); // ahora nuevo es el primer p
  16.     return false; //cancelar el evento
  17. }
  18.  
  19. //fin

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html lang="es">
  3. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  4. <meta name="Language" content="Spanish">
  5. <script type="text/javascript" src="fichero.js"></script>
  6. <title>insertBefore</title>
  7. </head>
  8. <div>
  9. <a href="" id="crear">Crear p&aacute;rrafo</a>
  10. <p>yo ya existo</p>
  11. </div>
  12. </body>
  13. </html>

Última edición por Tecna; 28/10/2010 a las 09:46 Razón: código html