绑定点击重复的div ID

我正在尝试创建一个div popup gallery类型的东西。 但是我的方法存在问题。

我有一些链接的缩略图图像,链接到大图像。 这些图像中的每一个都是这样的

    

如您所见,每个都具有相同的“galImage”ID。 我不想为每个创建一个单独的ID,因为有时可能有2个图像,有时可能有20个。所以只是想看看#galImage是否点击了我会运行一些jquery。

我的问题是,只有第一次出现#galImage才会触发jquery,其他每个实例都会失败。

这是一个带有上面例子的JSfiddle。 http://jsfiddle.net/MH6eJ/1/点击图片1,它有效。 但是图像2失败了。

我怎么能做到这一点?

根据文档 ,您的id在页面中是唯一的。 如果您想拥有更多具有该样式的HTML元素(例如),请使用class

 id = name [CS]: 

此属性为元素指定名称。 该名称在文档中必须是唯一的。

 class = cdata-list [CS]: 

此属性为元素分配类名或类名集。 可以为任意数量的元素分配相同的类名或名称。 多个类名必须用空格字符分隔。

    

然后,当您使用jQuery选择该类时,使用$(".galImage")

 $('.galImage').click(function(e){ e.preventDefault(); alert($(this).attr("href")); }); 

更新了你的jsFiddle 。

使用class而不是ID,重复ID并不是一个好主意。

使用类可以解决问题: jsfiddle

    
$('.galImage').click(function(e){ e.preventDefault(); alert($(this).attr("href")); });

所有ID必须是唯一的。 如果您想重复ID,则应使用课程。

元素的ID必须是唯一的。 所以你不能有两个具有相同ID的标签。

    

JS:

 $('.galImage').click(function(e){ e.preventDefault(); alert($(this).attr("href")); }); 

您需要使用类,因为ID必须是唯一的。

例如

    

你的jQuery就是

 $('.galImage').click(function(e){ e.preventDefault(); alert($(this).attr("href")); }); 

Ids应该是独一无二的。 您可以使用类而不是ID并绑定到类名。

在你的小提琴中为每个class=galImage添加class=galImage然后在你的jQuery绑定中,使用.galImage而不是#galImage 。 然后jQuery应绑定到类名为galImage所有元素

当我们必须附加具有多个元素的事件/样式时,我们必须使用类。 Id表示每个元素的唯一值。