jQuery元素externalWidth()返回0

时间:2019-07-05 09:44:54

标签: jquery width outerwidth

我有一个具有CSS设置的图像元素

height: 64px;
width: auto;

当我尝试使用.outerHeight().outerWidth()通过jQuery获取高度和宽度时,我可以正确获取高度,但width返回0。我什至尝试过width(),innerWidth()仍然相同。

我必须动态设置图像。也许这有一些问题。这是小提琴http://jsfiddle.net/abdulpathan/0vrbnpe3/3

有人可以帮我解决这个问题吗?

谢谢

1 个答案:

答案 0 :(得分:1)

解决方案是仅在加载图像后获取宽度。

jQuery(document).ready(function() {
  $('#test').on("load", function() {
  
  var height = $('#test').outerHeight();
  var width = $('#test').outerWidth();
  width = width.toFixed(2); // rounds it
  console.log('Width:' + width);
  console.log('Height:' + height);
  })
  $('#test').attr('src', 'https://www.gstatic.com/webp/gallery3/2.png'); 
});
.test-img {
  height: 100px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="banner-message">
  <img id="test" class="test-img">
</div>