Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Error Javascript

Estas en el tema de Error Javascript en el foro de Javascript en Foros del Web. Hola. Tengo esta línea en archivo js: Código: document.getElementById("fot").style.display='block'; Está dentro de este condicional: Código: if(getCookie('cookie')!="1"){ document.getElementById("fot").style.display='block'; } Y me sale este error en la ...
  #1 (permalink)  
Antiguo 05/09/2016, 06:17
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Error Javascript

Hola.

Tengo esta línea en archivo js:

Código:
document.getElementById("fot").style.display='block';
Está dentro de este condicional:

Código:
if(getCookie('cookie')!="1"){
	document.getElementById("fot").style.display='block';
}

Y me sale este error en la consola:

Código:
Uncaught TypeError: Cannot read property 'style' of null
No entiendo dónde está el error.

Gracias.
  #2 (permalink)  
Antiguo 05/09/2016, 10:41
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Error Javascript

Lo que dice el error es que document.getElementById("fot") es nulo.

revisa eso...

  #3 (permalink)  
Antiguo 05/09/2016, 14:22
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Error Javascript

Hola Álvaro.

Aunque signifique eso, ¿cómo que es nulo? El divisor existe y funciona bien. Todo funciona bien, pero luego sale ese error. Lo he descubierto por casualidad y querría saber qué es por hacer las cosas escrupulosamente bien.

¿Qué significa exactamente? ¿Qué hay algo mal en el div o en el getElementbyId?

Gracias por la respuesta.
  #4 (permalink)  
Antiguo 05/09/2016, 15:20
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Error Javascript

Ese mensaje indica que, el elemento en cuestión, no existe. Posiblemente se deba a que el bloque de código JavaScript se haya ejecutado antes de que cargue el árbol de elementos del documento. Si tienes el código JavaScript en la cabecera y no controlas su ejecución, es decir, si no te apoyas en un evento para disparar la ejecución del código, este se ejecutará antes de que haya cargado el DOM (los elementos del documento) y, por ende, estos no se verán afectados por tu script.

En un caso así, puedes hacer lo siguiente:

1. Colocar el bloque de código JavaScript después de todos los elementos:
Código Javascript:
Ver original
  1. <body>
  2.     <!-- Aquí irán tus elementos HTML -->
  3.     <script type="text/javascript">
  4.     //Aquí irá tu código JavaScript
  5.     </script>
  6. </body>

2. Ejecutar el código JavaScript cuando se haya completado la carga del DOM:
Código Javascript:
Ver original
  1. document.addEventListener("DOMContentLoaded", function(){
  2.     //Aquí irá tu código JavaScript
  3. }, false);

3. Ejecutar el código JavaScript cuando se haya completado la carga del DOM y sus recursos (audio, vídeo, imágenes, frames):
Código Javascript:
Ver original
  1. window.addEventListener("load", function(){
  2.     //Aquí irá tu código JavaScript
  3. }, false);

4. También puedes usar esta forma:
Código Javascript:
Ver original
  1. document.addEventListener("readystatechange", function(){
  2.     switch (this.readyState){
  3.         case "loading":
  4.             //Ejecuta el código JavaScript cuando esté cargando el documento
  5.             break;
  6.         case "interactive":
  7.             //Equivalente al evento DOMContentLoaded
  8.             break;
  9.         case "complete":
  10.             //Equivalente al evento load
  11.             break;
  12.     }
  13. }, false);

__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 07/09/2016 a las 09:51 Razón: Término incorrecto
  #5 (permalink)  
Antiguo 07/09/2016, 02:02
 
Fecha de Ingreso: noviembre-2005
Mensajes: 889
Antigüedad: 18 años, 5 meses
Puntos: 8
Respuesta: Error Javascript

Hola a todos.

No era eso Alexis, sino mucho más tonto por mi parte, aunque tú me has dado la pista.

Me extrañaba de dónde había salido ese error cuando antes funcionaba.

En principio lo que hice fue eliminar el div que contenía un aviso que debe aparecer en el sitio cuando entras, por que me molestaba en el desarrollo del mismo, con vistas a volverlo a colocar una vez terminado.

Absurdo, pero sí, tenías razón (teníais) el div no existía.

Gracias.

Etiquetas: js
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:11.