关于用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 相关文章推荐
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
Nov 24 Javascript
JavaScript调用Activex控件的事件的实现方法
Apr 11 Javascript
超级有用的13个基于jQuery的内容滚动插件和教程
Jul 31 Javascript
更换select下拉菜单背景样式的实现代码
Dec 20 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
Nov 02 Javascript
利用JQuery阻止事件冒泡
Dec 01 Javascript
JS操作xml对象转换为Json对象示例
Mar 25 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
Jul 03 Javascript
解决Vue大括号字符换行踩的坑
Nov 09 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及codeigniter使用session-cookie的方法(详解)
2017/04/06 PHP
php微信开发之图片回复功能
2018/06/14 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
Javascript 网页黑白效果实现代码(兼容IE/FF等)
2010/04/23 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
Node.js的包详细介绍
2015/01/14 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
7个有用的jQuery代码片段分享
2015/05/19 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
vue实现裁切图片同时实现放大、缩小、旋转功能
2018/03/02 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
python自动安装pip
2014/04/24 Python
星球大战与Python之间的那些事
2016/01/07 Python
python非递归全排列实现方法
2017/04/10 Python
python实现按长宽比缩放图片
2018/06/07 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
2018/06/21 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
新手学python应该下哪个版本
2020/06/11 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
SmartBuyGlasses意大利:购买太阳镜、眼镜和隐形眼镜
2018/11/20 全球购物
工作室成员个人发展规划范文
2014/01/24 职场文书
学雷锋活动总结范文
2014/04/25 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
典型事迹材料范文
2014/12/29 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
污水处理保证书
2015/05/09 职场文书
初中同学会致辞
2015/08/01 职场文书
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL