javascript - morris.js Elemento contenedor gráfico no encontrado
(5)
El código de JavaScript se ejecuta antes de que el DOM contenga el elemento #annual. Pon el javascript después del div o usa jQuery.ready ()
¿Por qué estoy recibiendo una excepción
Error no detectado: elemento contenedor gráfico no encontrado
cuando se utiliza morris.js
?
Prueba esto
<head>
<script src="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js"></script>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://cdn.oesmith.co.uk/morris-0.4.1.min.js"></script>
</head>
<body>
<div id="donut-example"></div>
<script type="text/javascript">
Morris.Donut({
element: ''donut-example'',
data: [
{ label: "Download Sales", value: 12 },
{ label: "In-Store Sales", value: 30 },
{ label: "Mail-Order Sales", value: 20 }
]
});
</script>
</div>
</body>
Si no usa la tabla en esta página, puede hacer esto:
- Vaya a la línea donde se lanza la excepción en morris.js
cambiarlo de esta manera: antes
if (this.el === null || this.el.length === 0) { return; // throw new Error("Graph placeholder not found."); }
Tuve este problema cuando estaba usando el framework node.js. Sacar las etiquetas de script que contienen los gráficos morris y el jQuery de la parte inferior del archivo html funcionó para mí. Estoy utilizando Require.js para cargar las dependencias para mi proyecto en su lugar. Espero que esto haya ayudado.
Solución: coloque el javascript después del div morris.js
De este post de tiraeth: https://github.com/morrisjs/morris.js/issues/137