关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题


Posted in Javascript onDecember 08, 2010

先来看现象:

<div id="cc"></div> 
<script> 
$(document).ready(function() { 
$("#cc").append("<div id='aa' style='width:200px;height:200px;' /></div>"); 
alert($("#aa").width()); 
}); 
</script>

结果为:200
所有浏览器都得到正确的结果

把插入的元素改为IMG

<div id="cc"></div> 
<script> 
$(document).ready(function() { 
$("#cc").append("<img id='aa' src='https://3water.com/images/logo.gif' />"); 
alert($("#aa").width()); 
}); 
</script>

(注:image1.jpg的实际宽为693)

结果为:
Opera:34
Firefox:0
IE:28
Chrome:0
Safari:0

再F5刷新一下,结果为:
Firefox:693
IE:693
Opera:693
Chrome:0
Safari:0
Safari和Chrome始终为0。

应该可以理解为在图片没有加载或呈现完成时计算出的图片宽高也是不正确的,刷新后应该是有了缓存,所以结果就正确了,但为什么Chrome

和Safari始终都为0呢?而且IE和OPERA居然一开始还会计算出一个错误值出来的。
改成下面这样就都好了:

<div id="cc"></div> 
<script> 
$(document).ready(function() { 
$("#cc").append("<img id='aa' src='https://3water.com/images/logo.gif' />"); 
window.setTimeout(function(){alert($("#aa").width()); },100); 
}); 
</script>

有解决过此问题或有关于此问题更详细的认识的大鸟还望不吝赐教..
$(document).ready(function() { 
$("#cc").append("<img id='aa' />"); 
$("#aa").load(function(){ 
alert($("#aa").width() 
}).attr("src", "https://3water.com/images/logo.gif"); 
});
Javascript 相关文章推荐
静态页面的值传递(三部曲)
Sep 25 Javascript
JS 继承实例分析
Nov 04 Javascript
网站内容禁止复制和粘贴、另存为的js代码
Feb 26 Javascript
Javascript基础教程之switch语句
Jan 18 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
Feb 13 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
Sep 21 Javascript
简单的网页广告特效实例
Aug 19 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
解决vue更新路由router-view复用组件内容不刷新的问题
Nov 04 Javascript
12 种使用Vue 的最佳做法
Mar 30 Javascript
详解JavaScript之Array.reduce源码解读
Nov 01 Javascript
微信小程序中wxs文件的一些妙用分享
Feb 18 Javascript
写js时遇到的一些小问题
Dec 06 #Javascript
javascript定义函数的方法
Dec 06 #Javascript
javascript中的一些注意事项 更新中
Dec 06 #Javascript
JavaScript Accessor实现说明
Dec 06 #Javascript
关于Javascript模块化和命名空间管理的问题说明
Dec 06 #Javascript
javascript处理table表格的代码
Dec 06 #Javascript
菜鸟javascript基础资料整理3 正则
Dec 06 #Javascript
You might like
基于PHP常用函数的用法详解
2013/05/10 PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
2014/04/24 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
PHP入门教程之图像处理技巧分析
2016/09/11 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
使用JavaScript脚本无法直接改变Asp.net中Checkbox控件的Enable属性的解决方法
2015/09/16 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
angular指令笔记ng-options的使用方法
2017/09/18 Javascript
vue项目中导入swiper插件的方法
2018/01/30 Javascript
解决vue项目打包后提示图片文件路径错误的问题
2018/07/04 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
深入浅析JavaScript中的in关键字和for-in循环
2020/04/20 Javascript
wxpython实现图书管理系统
2018/03/12 Python
对Python通过pypyodbc访问Access数据库的方法详解
2018/10/27 Python
详解python中list的使用
2019/03/15 Python
Python3 执行Linux Bash命令的方法
2019/07/12 Python
Python二元算术运算常用方法解析
2020/09/15 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
HTML5 语义化结构化规范化
2008/10/17 HTML / CSS
html5画布旋转效果示例
2014/01/27 HTML / CSS
工程地质勘察专业大学生求职信
2013/10/13 职场文书
服装公司总经理岗位职责
2013/11/30 职场文书
博士学位自我鉴定范文
2013/12/26 职场文书
简历自我评价怎么写呢?
2014/01/06 职场文书
简短证婚人证婚词
2014/01/09 职场文书
社区党建工作汇报材料
2014/08/14 职场文书
工人先锋号事迹材料
2014/12/24 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书