关于用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 相关文章推荐
学习YUI.Ext 第七天--关于View&amp;JSONView
Mar 10 Javascript
取键盘键位ASCII码的网页
Jul 30 Javascript
jquery easyui的tabs使用时的问题
Mar 23 Javascript
JQuery的$命名冲突详细解析
Dec 28 Javascript
Vue组件BootPage实现简单的分页功能
Sep 12 Javascript
JavaScript中cookie工具函数封装的示例代码
Oct 11 Javascript
JS实现动态给标签控件添加事件的方法示例
May 13 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
Dec 30 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
Nov 07 Javascript
深入分析JavaScript 事件循环(Event Loop)
Jun 19 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
Aug 27 Javascript
React forwardRef的使用方法及注意点
Jun 13 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 程序员的调试技术小结
2009/11/15 PHP
php随机输出名人名言的代码
2012/10/07 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
php编程每天必学之表单验证
2016/03/01 PHP
jquery 问答知识整理
2010/02/11 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
解析JavaScript中的字符串类型与字符编码支持
2016/06/24 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
小程序实现搜索框功能
2020/03/26 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
python检测lvs real server状态
2014/01/22 Python
在Python中使用CasperJS获取JS渲染生成的HTML内容的教程
2015/04/09 Python
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
pycharm修改file type方式
2019/11/19 Python
python中return的返回和执行实例
2019/12/24 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
PurCotton全棉时代官网:100%天然棉花生产的生活护理用品
2016/11/18 全球购物
应届毕业生求职信范文
2013/12/18 职场文书
潘婷洗发水广告词
2014/03/14 职场文书
2014年党务公开方案
2014/05/08 职场文书
务虚会发言材料
2014/12/25 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
公司员工离职感言
2015/08/03 职场文书
辞职报告(范文三篇)
2019/08/27 职场文书
python使用glob检索文件的操作
2021/05/20 Python
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
Java死锁的排查
2022/05/11 Java/Android