因为jquery是在网页dom加载完毕后就执行了,这时候图片还没有加载好,所以获取不到实际高度。
给你一个方法:
<img src='1.jpg' onload='set_prarms_f(this)'>//图片加载完毕以下获取图片的高度,宽度,并且改变父元素的高度和宽度
function set_prarms_f(obj){
var img_height=$(obj).height();
var img_width=$(obj).width();
var div_height=img_height+50;
var div_width=img_width+20;
$(obj).parent().attr("height",div_height);
$(obj).parent().css({"height":div_height,"width":div_width});
}
就是当图片加载完以后再获取高和宽,明白了吧,不用谢我,我是雷锋,哈哈!!!!

解决方案 »

  1.   

    上面这个函数是直接从我项目里copy的,有些不用的你可以直接去掉,如高+50,宽+20这样。
    就是当图片加载完以后再获取高和宽,明白了吧,不用谢我,我是雷锋,哈哈!!!!
      

  2.   

    上面这个函数是直接从我项目里copy的,有些不用的你可以直接去掉,如高+50,宽+20这样。
    就是当图片加载完以后再获取高和宽,明白了吧,不用谢我,我是雷锋,哈哈!!!!谢谢,但是图片是后台上传后,没有默认高度的,当然,我们不可能从后台添加图片的时候给他添加一个 set_prarms_f(this) 继续尝试中想方法,还望高手指点,谢谢。
      

  3.   

    哦,那你可以试试这样行吗
    $(function(){
      $("div img").load(function(){
        set_prarms_f(this);
      })
    })