0

各divには、固定クラスを持つ1つの画像があります。jqueryを使用して「.diagnostic_picture」というクラスを持つdiv内のすべての画像srcを変更し、「。diagnostic_picture 」というクラスを持つdiv内の「 delaySrc」というすべての画像に1つの新しい属性を追加する必要があります。ここでこの方法でコードを記述しましたが、機能しませんでした....誰かが私を助けてくれますか?ありがとう

<div class="diagnostic_picture"><img src="test1.gif" /></div>
<div class="diagnostic_picture"><img src="test2.gif" /></div>
<div class="diagnostic_picture"><img src="test3.gif" /></div>

 $(document).ready(function () {
        $(".diagnostic_picture").each(function () {
            $(this).children("img")
            .attr("src", 'images/ajax-loader.gif')       // this way i change the src
            .attr('delaySrc', $this.attr("src")); ;      // this way i add new attribute
        });
    });

delaySrcという属性がdiv内のimgタグに追加されていないため、コードビットを変更しましたが、新しい属性が追加されていません....firebugによってソースを確認します。

コードを変更する

  $(".diagnostic_picture img").each(function () {
        var img = $(this);
        img.attr("delaySrc", function () { img.attr("src") })
        img.attr("src", 'images/ajax-loader.gif');
    });
4

4 に答える 4

1

これを試して

$(document).ready(function () {
        $(".diagnostic_picture").children()
            .attr("src", 'images/ajax-loader.gif')       // this way i change the src
            .attr('delaySrc', $this.attr("src")); ;      // this way i add new attribute
        });
    });
于 2012-06-14T14:26:35.493 に答える
1

$(document).ready(function () {})本当にプリロードするためにこのブロックを削除するだけです

$(".diagnostic_picture img")
        .attr('delaySrc', function(){return $(this).attr("src");})
        .attr("src", 'images/ajax-loader.gif');
于 2012-06-14T14:29:16.857 に答える
1

クラス名からドットを削除します。

<div class="diagnostic_picture"><img src="test1.gif" ></div>
<div class="diagnostic_picture"><img src="test2.gif" ></div>
<div class="diagnostic_picture"><img src="test3.gif" ></div>

に変更$thisする必要があります。また、有効な属性を持つために$(this)使用できます。data-

 $(document).ready(function () {
        $(".diagnostic_picture img").each(function () {
            $(this).attr("src", 'images/ajax-loader.gif')       // changing src
            .attr('data-delaySrc', $(this).attr("src")); ;      // you can use 'data-' for having a valid attribute
        });
    });
于 2012-06-14T14:31:16.260 に答える
0

これはコードの正しいバージョンです(html makrupの変更に注意してください-クラス値にはプレフィックスドットは必要ありません、およびjavascipt)

<div class="diagnostic_picture"><img src="test1.gif" ></div>
<div class="diagnostic_picture"><img src="test2.gif" ></div>
<div class="diagnostic_picture"><img src="test3.gif" ></div>

 $(document).ready(function () {
        $(".diagnostic_picture img").attr("src", 'images/ajax-loader.gif').attr('delaySrc', function() { $(this).attr("src") });
     });
 });
于 2012-06-14T14:25:54.297 に答える