Le he puesto este titulo a la pregunta porque creo que ahí está el problema, pero no estoy seguro.
Tengo una galería de imágenes y unos enlaces que pinchando sobre ellos me muestra la foto correspondiente, tanto las imágenes como los enlaces están en un array y quiero que al pinchar sobre un enlace, se ejecute una función que además de cambiarme la foto, hasta aquí todo bien, remarque este enlace y desmarque el que estuviera remarcado, esto último lo hago con jQuery, pues el problema es que tengo que pinchar una segunda vez sobre cualquier enlace para que me lo haga, me explico, me carga la página, pincho sobre un enlace y me cambia la foto pero no me remarca el enlace, vuelvo a pinchar y ahora si me lo remarca y ya me funciona perfectamente hasta que cargo la página de nuevo, que me vuelve a hacer lo mismo y no tengo ni idea de porqué ocurre esto
Código Javascript:
Ver original
function cambiarImgGr(imagen, title) { var imagenGr= document.getElementById('imgGr') imagenGr.src = "" + imagen +""; var elemento = document.getElementById('titulo'); elemento.innerHTML = title; //código jQuery que pone activo el enlace sobre el que pinchamos y borra el que estaba $(document).ready(function(){ $("a.galeria").click(function(galeria){ $("a.galeria").removeClass("active"); $(this).addClass("active") }); }); //Con esta función al cargar la página me debería aparecer activo el primer elemento, el que tiene índice [0], pero tampoco me lo hace, son las dos cosas que me están fallando. function pedro(){ if (datos[i]== 0) activo = "active galeria"; else activo = "galeria"; return activo } imgId = datos[i][2]; imagen = "imagesGaleArte/" + imgId + ".jpg"; title = datos[i][1]; enlaces = datos[i][0]; Contenido += '<li><a class="'+pedro()+'" href=\"javascript:cambiarImgGr(\'' + imagen + '\',\'' + title + '\')"/>'+enlaces+'</a></li>';