关于用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 相关文章推荐
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
Mar 17 Javascript
JQuery index()方法使用代码
Jun 02 Javascript
javascript中String类的subString()方法和slice()方法
May 24 Javascript
JQuery实现表格动态增加行并对新行添加事件
Jul 30 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 Javascript
javascript实现控制浏览器全屏
Mar 30 Javascript
jQuery改变form表单的action,并进行提交的实现代码
May 25 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
gulp安装以及打包合并的方法教程
Nov 19 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
Jun 25 Javascript
vue.js图片转Base64上传图片并预览的实现方法
Aug 02 Javascript
vue开发拖拽进度条滑动组件
Sep 21 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
基于mysql的论坛(1)
2006/10/09 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
JS 控制小数位数的实现代码
2011/08/02 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
使用jquery给指定的table动态添加一行、删除一行
2016/10/13 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
JavaScript注册时密码强度校验代码
2017/06/30 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
python通过加号运算符操作列表的方法
2015/07/28 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
Windows下安装python MySQLdb遇到的问题及解决方法
2017/03/16 Python
Python常见工厂函数用法示例
2018/03/21 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
将python包发布到PyPI和制作whl文件方式
2019/12/25 Python
在python里创建一个任务(Task)实例
2020/04/25 Python
浅析python函数式编程
2020/09/26 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
Lenox官网:精美的瓷器&独特的礼品
2017/02/12 全球购物
Vans奥地利官方网站:美国原创极限运动潮牌
2018/09/30 全球购物
教师专业自荐书范文
2014/02/10 职场文书
简单的大学生自我鉴定
2014/02/18 职场文书
安全口号大全
2014/06/21 职场文书
小学校园文化建设汇报材料
2014/08/19 职场文书
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python