jquery使用相同的类获取生成的id

jquery使用相同的类获取生成的id,jquery,Jquery,这是我的密码 //generate a id $(".slide_img_a").each(function(){ $(this).attr("id","img"+(Math.round(Math.random()*100))) }); // get id var img_id = $(".slide_img_a").attr("id"); // alert the id $(".slide_img_a img").hover(function(){ alert(img_id)

这是我的密码

//generate a id $(".slide_img_a").each(function(){ $(this).attr("id","img"+(Math.round(Math.random()*100))) }); // get id var img_id = $(".slide_img_a").attr("id"); // alert the id $(".slide_img_a img").hover(function(){ alert(img_id); }); //生成一个id $(“.slide\u img\u a”)。每个(函数(){ $(this.attr(“id”,“img”+(Math.round(Math.random()*100))) }); //取得身份证 变量img_id=$(“.slide_img_a”).attr(“id”); //通知id $(“.slide\u img\u img”).hover(函数(){ 警报(img_id); });
问题是我有5张图片,它们都是同一个类和随机id。当我悬停图片时,结果是他只能提醒第一张图片的id。我想做的是,当我悬停它们时,它们会提醒它们自己的id

您可以在事件处理程序中使用
this
,并通过这种方式找到您想要的内容,如下所示:

$(".slide_img_a img").hover(function(){
  alert($(this).closest(".slide_img_a").attr("id"));
});
这将获取您在悬停时悬停的图像,然后使用它转到
.slide\u img\u a
容器,这就是我们从中提取ID的元素


对于jQuery的1.3之前版本(因为我们知道
没有该类),您可以执行以下操作:

$(".slide_img_a img").hover(function(){
  alert($(this).parents(".slide_img_a:first").attr("id"));
});

$(“.slide\u img\u a”)。最近的不是afunction@Jordan-对于较旧版本的jquery,您可以使用.parents('.slide\img\u a:first')instrain。您不应该有重复的
id
s,并且您的方法有时会创建重复的
id
s。