0

私はこのシナリオを持っています:

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

今クリックして、.prev img要素のsrc attrを取得したいのですが、次のようにします:

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

期待どおりに動作しません。何か提案はありますか?

PS: rayining -1 のように -1 を使用しないでください。

4

2 に答える 2

2

body前を取得するには、タグなどで共通の親を持つ必要がdivあり、属性はありません'data-modal-img-src'onbind はdeprecatedであるため、bind の代わりに使用する必要があります。また、データ属性data()の代わりに使用します。attr()

prev()、一致した要素のセット内の各要素の直前の兄弟を取得します。オプションでセレクターjQuery documentsによってフィルター処理されます。

ライブデモ

<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()

ライブデモ

$(function () {
    $('span').bind('click', function () {
        var _img_src = $(this).prev('img').data('modal-img-src');
        alert(_img_src);
    });
});
于 2013-02-02T09:05:23.987 に答える
1

data()ではなく使用attr()

$(this).prev('img').data('modal-img-src')
于 2013-02-02T09:06:24.763 に答える