Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/01/2014, 18:35
spect
 
Fecha de Ingreso: abril-2009
Mensajes: 58
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta problemilla muy básico con el DOM

Estoy empezando con javascript y el manejo del DOM
Estoy creando como ejemplo una Version del boton me gusta del Facebook leyendo el valor de un elemento y sustituyendolo por otro.
El caso es que el script solo me funciona la primera vez que lo ejecuto.

¿me podrían decir que estoy haciendo mal?

muchas gracias

Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2.  
  3. <html>
  4.  
  5. <title>Ejemplo Me Gusta</title>
  6. <meta charset="UTF-8" />
  7.  
  8. <script type="text/javascript">
  9.  
  10. function sumamegusta() {
  11.  
  12. //Leemos el texto del elemento con id=num_megusta
  13. var MegustaAnterior = document.getElementById("num_megusta").firstChild.data;
  14.  
  15. //Sumamos 1 al valor leído
  16. var NuevoMegusta = parseInt(MegustaAnterior) + 1 ;
  17.  
  18. //AJAX: Sumamos 1 nuevo MeGusta a la BBDD
  19.  
  20.  
  21. //Leemos el elemento antiguo que queremos reemplazar
  22. var viejo = document.getElementById("num_megusta");
  23.  
  24. //Accedemos a su elemento padre mediante la propiedad parentNode
  25. var padre = viejo.parentNode
  26.  
  27. //Creamos un nuevo elemento span para reemplazar
  28. var nuevoElemento = document.createElement("span");
  29.  
  30. //Asignamos el id=num_megusta al nuevo elemento
  31. nuevoElemento.id = "num_megusta";
  32.  
  33. //creamos un elemento tipo texto
  34. var nuevoTexto = document.createTextNode(NuevoMegusta);
  35.  
  36. //Asignamos el elemento tipo texto al elemento span
  37. var nuevo = nuevoElemento.appendChild(nuevoTexto);
  38.  
  39. //Reemplazamos con replaceChild, Entre paréntesis pondremos en primer lugar el elemento nuevo que lo sustituira, y en segundo el elemento viejo:
  40. padre.replaceChild(nuevo,viejo)
  41.  
  42.  
  43. }
  44. </script>
  45.  
  46. </head>
  47.  
  48. <body>
  49.  
  50. <div id="megusta">Esta página le gusta a <span id="num_megusta">12</span> Personas</div>
  51. <div id="like"><a id="boton_like" href="#" onclick="sumamegusta();">Me gusta</a></div>
  52.  
  53.  
  54.  
  55. </body>
  56. </html>