Jquery发现图像高度不起作用

sta*_*ler 8 javascript css jquery height image

我正在尝试使用jQuery来查找容器的第一个"大孩子"的图像高度,然后将容器设置为该高度.但是,我似乎无法拉出图像高度属性 - 让src工作.有任何想法吗?它只是试图通过CSS拉高峰?我如何获得"真正的高度"我无法在img标签中输入宽度和高度 - 所以这不是一个选项;(

 $(document).ready(function() {
       var imageContainer = '#image-container';


       var imageSrc = $(imageContainer).children(':first').children(':first').attr('src'); // control test
       var imageHeight = $(imageContainer).children(':first').children(':first').height(); // have also tried attr('height')

       alert(imageSrc + ' ' + imageHeight);

    });


    <div id="image-gallery">
      <div id="image-container">    

        <div class="slide">
          <img src="test1.jpg" alt="test1" />
          <p>
            <strong>This is a test 1</strong>
          </p>
        </div>

        <div class="slide">
         <img src="test2.jpg" alt="test2" />
         <p>
           <strong>This is a test 2</strong>
         </p>
       </div>

      </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

Joe*_*oel 8

来自API文档:

如果代码依赖于加载的资源(例如,如果需要图像的维度),则应将代码放在load事件的处理程序中.

因此,不是在$(document).ready();使用$(window).load();或更好地执行您的脚本,$(image).load();.例如:

$(document).ready(function() {
    var imageContainer = '#image-container';

    $(imageContainer).children(':first').children(':first').load(function() {
        var imageSrc = $(this).attr('src'); // control test
        var imageHeight = $(this).height(); // have also tried attr('height')

        alert(imageSrc + ' ' + imageHeight);
    });
});
Run Code Online (Sandbox Code Playgroud)