<script type="text/javascript" src="jquery-1.4.full.js"></script>
<body>
</body>
<script type="text/javascript">
var jdialog = $('<div id="avatar_button_clipdiv" style="width: 668px; height: 425px">\
<img width="668" height="900" src="http://localhost/1_tmp.jpg" style="">\
</div>').appendTo('body');
console.log(jdialog.find('img'));
console.log(jdialog.find('img').width(),jdialog.find('img').height());
 </script>这个是我的一个html页面的一部分代码,当运行整个html页面的时候,height返回0,因为之前我修改过很多CSS样式,结构没变,所以我把代码单独拿出来测试一下,可以返回正确高度,但是放回原来的页面运行,还是返回0,谁知道修改过什么样的css会造成高度返回0这样的问题啊

解决方案 »

  1.   

    是不是你的样式设置img隐藏了什么的,用firebug查看下作用img上有什么样式
      

  2.   

    console.log(jdialog.find('img').css('style'));
    看看样式
      

  3.   

    <!DOCTYPE html>
    <html>
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
    </script>
    <script>
    $(document).ready(function(){
      var jdialog = $('<div id="avatar_button_clipdiv" style="width: 668px; height: 425px">\
    <img width="668" height="900" src="http://localhost/1_tmp.jpg" style="">\
    </div>').appendTo('body');
                        //alert(jdialog.find('img'));
                        alert(jdialog.find('img').height());
    });
    </script>
    </head>
    <body></body>
    </html>
    试试
      

  4.   

    id="avatar_button_clipdiv"
    看看这个id有重复的吗
      

  5.   

    也没重复,原来页面只改动过css文件,没改动标记和布局,这个肯定是我改动的css文件引起的
      

  6.   

    我是把网站的css换成了bootstrap的css,然后出现取不到值
      

  7.   

    奇怪的是,外层的div的值可以取到,里面的img的高度就不行