0

每个 div 都有一个具有固定类别的图像。我需要使用 jquery 更改那些具有名为“.diagnostic_picture”的类的 div 内的所有图像 src,并为该div 内名为“.diagnostic_picture”的类的所有名为“ delaySrc ”的图像添加一个新属性。在这里以这种方式编写了代码但没有用....任何人都可以帮助我。谢谢

<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 img")
        .attr('delaySrc', function(){return $(this).attr("src");})
        .attr("src", 'images/ajax-loader.gif');
于 2012-06-14T14:29:16.857 回答
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

从类名中删除点:

<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 回答