Me ha pasado varias veces que al ejecutar un código Javascript, este no funciona correctamente a pesar de que el código esta hermoso y perfecto.
En lo particular, dependiendo del navegador, Javacript se ejecuta antes que se cargue por completo la página (frecuente en paginas dinámicas). Cargando resultados inesperados.
Solución:
Debemos implementar una espera con el objetivo que el navegador cargue completamente la pagina antes de ejecutar el código javascript.
Código:
setTimeout( function () { Tu codigo aqui } , el tiempo de espera en milisegundo);
Ejemplo:
setTimeout( function () {alert("Esto es un alerta con espera de 50 milisegundos"}, 50 );
Si te sirvio este post, por favor dejame un comentario. Tratare de contestar dudas y estoy atento a cualquier corrección que pueda presentar el contenido.
Happy Codding