0

通过 jquery 代码,我尝试向 img 标签添加一个名为delaySrc的新属性,并尝试将 src 属性的值更改为 div 中的所有 img 标签。

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

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

src 属性值正在发生变化,但新属性不会添加到 div 中的所有 img 标签。请建议我哪里错了。在代码中改变什么。谢谢

4

4 回答 4

2

尝试这个

$(function(){
$(".diagnostic_picture img").each(function () {
        var img = $(this);
        img.attr("delaySrc",img.attr("src"));
        img.attr("src", 'image_url');
});
});
于 2012-06-15T13:08:32.433 回答
1
$(".diagnostic_picture img").each(function () {
        var img = $(this);
        img.attr("delaySrc", img.attr("src"));
        img.attr("src", 'images/ajax-loader.gif');
});
于 2012-06-15T13:08:11.083 回答
1

现场演示

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

或者

现场演示

$(".diagnostic_picture img").each(function () {
        var img = $(this);
        img.prop("delaySrc", function () { return img.prop("src") })
        img.prop("src", 'images/ajax-loader.gif');                                           
        alert(img.prop('delaySrc'));                                           
        alert(img.prop('src'));     
});
​
于 2012-06-15T13:08:26.877 回答
1

您必须从传递给的函数返回一个值attr

img.attr("delaySrc", function() { return img.attr("src"); });

或者更简单地说,只需传递值:

img.attr("delaySrc", img.attr("src"));
于 2012-06-15T13:08:59.870 回答