JQuery无法获取上一个图像src

时间:2013-02-02 09:04:07

标签: javascript jquery dom image

我有这种情况:

<img class="prev" data-modal-img-src="asd"/>
<span></span>
<img class="next"/>

现在on cllick我想得到.prev img元素src attr,我这样做:

$(function(){
$('span').bind('click',function(){
 var _img_src = $(this).prev('img').attr('data-modal-img-src');
 alert(_img_src);
});
});

它没有按预期工作,有什么建议吗?

P.S:不要使用-1就像是射线-1

2 个答案:

答案 0 :(得分:2)

要获得上一个内容,他们应该有body代码或div等共同父母,并且您没有属性'data-modal-img-src'。您应该使用on而不是绑定,因为绑定已弃用。也可以使用data()代替attr()来获取数据属性。

  

prev(),获取该组中每个元素的前一个兄弟   匹配的元素,可选择由选择器jQuery documents过滤。

<强> Live Demo

<img class="prev" data-modal-img-src = "123"/>
<span></span>
<img class="next"/>

$(function () {
    $('span').bind('click', function () {
        var _img_src = $(this).prev('img').data('modal-img-src');
        alert(_img_src);
    });
});

使用data()

<强> Live Demo

$(function () {
    $('span').bind('click', function () {
        var _img_src = $(this).prev('img').data('modal-img-src');
        alert(_img_src);
    });
});

答案 1 :(得分:1)

使用data()而不是attr()

$(this).prev('img').data('modal-img-src')