通过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标记。请建议我哪里错了。在代码中要改变什么。感谢
答案 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"));