如何向img标签添加一个新属性,还需要更改现有属性的值

时间:2012-06-15 13:05:15

标签: jquery

通过jquery代码我试图将一个名为 delaySrc 的新属性添加到img标记中,并尝试将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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

<强> Live Demo

    $(".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'));                                       
    });​

<强> Live Demo

$(".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'));     
});
​

答案 2 :(得分:1)

试试这个

$(function(){
$(".diagnostic_picture img").each(function () {
        var img = $(this);
        img.attr("delaySrc",img.attr("src"));
        img.attr("src", 'image_url');
});
});

答案 3 :(得分:1)

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

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

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

img.attr("delaySrc", img.attr("src"));