1.-
Cita: The id attribute specifies a unique id for an HTML element (the value must be unique within the HTML document).
http://www.w3schools.com/tags/att_standard_id.asp
Básicamente, el atributo ID es
único en el documento.
Cita: Es decir, si doy click en articulo2.jpg me manda el titulo y descripcion de el articulo1.
Eso es esperable y lógico.
Con esto dicho, vamos a sacar los id's y usar clases:
Código HTML:
Ver original <a href="#"><img class="wmodal" src="imagenes/articulo1.jpg"></a> <p class="titulo" >Nombre del articulo 1
</p> <div class="descripcion" style="display: none;"> Descripcion del articulo 1.
<a href="#"><img class="wmodal" src="imagenes/articulo2.jpg"></a> <p class="titulo" >Nombre del articulo 2
</p> <div class="descripcion" style="display: none;"> Descripcion del articulo 2.
2.- Tu script busca el mismo elemento todo el tiempo por estar usando ID's. Es lógico que encuentre sólo el primero.
Cambiamos los Id's por clases y cambiamos los selectores y las variables para optimizar un poco el script:
Código Javascript
:
Ver originaljQuery(function ($) {
$('.contenedor a').click(function (e) {
//guardamos el elemento <a> al que se le hizo click
var $elem = $(this);
//el contenedor general es padre del <a> al que se hizo click
var $cont = $elem.parent();
//obtenemos los datos de cada elemento dentro del contenedor actual
var titulo = $cont.find('.titulo').html();
var descripcion = $cont.find('.descripcion').html();
//abrimos el cuadro modal
$.modal("<div><h1>" + titulo + "</h1>" + descripcion + "</div>");
//evitamos accion por defecto del <a>
e.preventDefault()
});
});
Estudiá los comentarios y fijate bien cómo funciona.