改变img src和宽度

时间:2011-02-22 17:25:43

标签: javascript jquery

我使用jQuery更改了img标记的scr,例如,

$("#img1").attr("src", "pic1.png");

在此之后,我尝试获取img的宽度(它没有在html中设置),

$("#img1").width();
似乎src的宽度没有改变,我错过了什么吗?感谢。

1 个答案:

答案 0 :(得分:4)

如果您尝试立即执行此操作,可能是因为图像尚未完全加载。

使用.one()为图像添加单个加载处理程序。

$("#img1").attr("src", "pic1.png").one('load',function() {
    alert($(this).width());
});

或者如果图像被缓存,您可以尝试:

$("#img1").attr("src", "pic1.png").each(function() {
    if( this.complete ) {
        alert($(this).width());
    } else {
        $(this).one('load',function() {
            alert($(this).width());
        });
    }
});

正如@Humberto所述,您使用的是scr,而不是正确的src