使用jquery双击图像时是否可以获取div / img的ID?

时间:2012-12-08 03:38:13

标签: javascript jquery html css

现在我有一个显示图像的html页面。请注意,div只包含1个图像文件:

<div="div_1"><img id = "img_1" src = '....' /></div>

我想要实现的是当用户双击div时,通过jquery / js获取“div_1”或“img_1”。更好的方法是获得“1”。是否有可能实现/任何功能可以帮助实现这一目标?

由于

更新

当前的Html代码就是那样

<div class="turn-page-wrapper" page="2" style="position: absolute; overflow: hidden; width: 28.5px; height: 37px; top: 0px; left: 0px; right: auto; bottom: auto; z-index: 6;">
<div style="position: absolute; top: 0px; left: 0px; overflow: hidden; z-index: auto; width: 47px; height: 47px;">
<div id="div_2" class="turn-page p2" style="width: 28.5px; height: 37px; -webkit-transform-origin: 0% 0%; position: absolute; top: 0px; left: 0px; bottom: auto; right: auto;">
<img id="img_2" src="demo/medium/Web081112_P002_medium.jpg" alt="flip book">
</div>
</div>
</div>

似乎我的情况不是那么直截了当,当我使用var id = $(this).attr("id");它返回页面作为结果。如果我的情况不允许我获取页面的属性,图像的id,那么这意味着我无法获得单个图像的实际ID?感谢

最新更新(仅剩1个漏洞!)

$("div.turn-page").dblclick(function() {
var id = this.id;
num = id.split("_")[1];
alert (num);
});

目前我正在使用它获取id,但是对于最后一个结果(不可转换),当我双击它时不响应或做任何事情。但它应该是工作,因为课程有翻页p7?

   <div class="turn-page-wrapper" page="7" style="position: absolute; overflow: hidden; width: 609.5922459893047px; height: 793px; top: 0px; right: 0px; left: auto; bottom: auto; z-index: 6;">
    <div style="position: absolute; top: 0px; left: 0px; overflow: hidden; z-index: auto; width: 1000px; height: 1000px;">
    <div id="div_7" class="turn-page p7" style="width: 609.5922459893047px; height: 793px; position: absolute; top: 0px; left: 0px; bottom: auto; right: auto;">
    <img id="img_7" src="demo/medium/Web081112_P007_medium.jpg" alt="flip book">
    </div>
    </div>
    <div style="top: 0px; left: 0px; overflow: hidden; z-index: 1; width: 610px; height: 793px;">
    </div>
    </div>

3 个答案:

答案 0 :(得分:2)

您可以在javascript中执行此操作:

document.getElementById("div_1").children[0].id

这将返回“div_1”div

的第一个孩子的id

答案 1 :(得分:1)

像这样:

$("div").dblclick(function() {
    var id = this.id,
        num = id.split("_")[1],
        imgSrc = $(this).find("img").attr("src");

    // do something with the id, the number, or the image src
});

演示:http://jsfiddle.net/LGwK7/

这会将双击处理程序绑定到所有 div元素,因此您可能希望将公共类添加到您关注的那些并绑定到那些。 (我假设通过id绑定是没有意义的,因为你问如何获取被点击的id的id。)

请注意,您的html有错误:<div="div_1"...,应为<div id="div_1"...

答案 2 :(得分:1)

你可以做这样的事情

var divId;

$('div').dblclick(function(e){
    e.preventDefault();
    divId = $(this).prop('id');
});