绑定点击重复的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表示每个元素的唯一值。