2011-02-22 96 views
4

更改img标签的使用jQuery的SCR,比如,变化IMG SRC和宽度

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

在此之后,我试图让IMG的宽度(它不是在HTML中设置),

$("#img1").width(); 

它看起来宽度没有改变与src,我错过了什么?谢谢。

+2

在您的CSS中的图像上是否设置了`width`? – Dominic 2011-02-22 17:26:44

回答

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

+0

它不是`src`属性吗? – Humberto 2011-02-22 17:29:36