Hola,
podemos optimizar la función de varias maneras. Premisas previas:
1. En general, no conviene ir insertando cositas en el DOM de a poquitos, pues cada vez que lo haces se vuelve a renderizar. En estos casos, lo mejor es armar todo el chorro de html que necesitas y luego insertarlo solo una vez.
2. Se deduce que lo quieres insertar en un sitio en un concreto. Usa mejor un id en el selector, que es más rápido que la clase (y solo se insertaría en un sitio si se te despista esa clase).
3. Un for es mucho más eficiente que un each y además te permite controlar cuántos ítems quieres armar...
4. En js usa mejor camelCase (leeJson), no el guion bajo de php y similares, para nombrar las cosas.
5. Añade un "cortafuegos" por si te falla el get.
Algo así (es un borrador que deberías afinar, no sé bien qué tiene data):
Código Javascript
:
Ver originalfunction leeJson() {
$.getJSON( "comarcas.json", function( data ) {
var cadena = "",
i = 0;
// cortafuegos
if (!data) {
return false;
}
// solo queremos dos
for (; i < 2; i++) {
cadena +="<div class='comarca color'>"+data[i].item.comarca+"</div>";
}
$( "#tuSuperContenedor" ).append(cadena);
}