javascript - 更改src属性后如何获取图像大小?

标签 javascript jquery

我正在使用 jQuery 来更改图像源

var img = $("#image-holder img")
img.attr("src","uploads/image.jpg");

此时,如何获取图片的clientWidth和高度呢?我尝试过不同的方法,例如

img.width()
img.clientWidth
img.width

但其中一些不起作用,另一些则只是返回 0。

你有什么建议吗?

谢谢

最佳答案

您应该使用加载事件来获取图像宽度。

我为加载图像之前和之后创建了一个示例。

var img = $("#image-holder img");
img.attr("src","https://www.w3schools.com/images/compatible_chrome.gif");
console.log('before load: ' + img.width());

var load = function(e){

   console.log('after load: ' + e.width);
};

var img = $("#image-holder img");
img.attr("src","https://www.w3schools.com/images/compatible_chrome.gif");
console.log('before load: ' + img.width());

var load = function(e){
   //alert(e.width);
   console.log('after load: ' + e.width);
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="image-holder">
  <img src="" onload="load(this)"/>
<div>

关于javascript - 更改src属性后如何获取图像大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55707963/

相关文章:

javascript - 尝试使用等效的输入名称属性值来定位属性名称

javascript - Html/jQuery - 使用多选 jquery ui 下拉列表但无法正常工作

jQuery UI - 添加选项卡

jquery - 在图像(缩略图)和视频之间切换

jquery - 'SyntaxError : expected expression, 从 $.getScript 得到 <'

javascript - jQuery:将每 2 个单词包装在 div 标签中

javascript - jquery,触发链接点击与另一个点击问题?

javascript - 当时间用完时,通过单击按钮或停止来停止/卡住计时器(setInterval)

带有粘性附加组件的 jQuery Waypoints 插件在页面高度变化时不会重新计算引用点

javascript - jquery向页面添加HTML代码