1

.viewerクラスのsrc属性を持つ最初の要素をその属性の値に変更したいと思いdata-srcます。明らかなコードは機能しません:

$(".viewer").first().show().attr('src', $(this).attr('data-src'));

SOに関する他の質問を読んだところ、これを行う必要があることがわかりました。

$(".viewer").first().show().each(function(){
    $(this).attr('src', $(this).attr('data-src'));
});

それは機能します、そして私はその理由を理解しています(thisスコープ外の要素を参照していません)-しかし、あなたがすでに使用した後.eachに実行することは非常に奇妙に思えます。.each().first()

上記のコードを書くためのよりクリーンな方法はありますか?

4

2 に答える 2

3

再利用するデータを変数に格納します。

var viewer = $(".viewer").first().show();
viewer.attr('src', viewer.data('src'));
于 2013-03-02T00:15:57.977 に答える
2

いつでも変数を使用できます。

var elem = $(".viewer").first();
    elem.show().attr('src', elem.attr('data-src'));
于 2013-03-02T00:16:11.713 に答える