关于用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 相关文章推荐
var与Javascript变量隐式声明
Sep 17 Javascript
JavaScript中如何通过arguments对象实现对象的重载
May 12 Javascript
自写的jQuery异步加载数据添加事件
May 15 Javascript
js数组与字符串的相互转换方法
Jul 09 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
May 07 Javascript
JavaScript 常见安全漏洞和自动化检测技术
Aug 21 Javascript
js 弹出虚拟键盘修改密码的简单实例
Oct 10 Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
javaScript中封装的各种写法示例(推荐)
Jul 03 Javascript
vue 中的 render 函数作用详解
Feb 28 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
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
php获取地址栏信息的代码
2008/10/08 PHP
php 远程图片保存到本地的函数类
2008/12/08 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
php通过smtp邮件验证登陆的方法
2016/05/11 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
封装好的省市地区联动控件附下载
2007/08/13 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
JS对大量数据进行多重过滤的方法
2016/11/04 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
ES6 新增的创建数组的方法(小结)
2019/08/01 Javascript
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
Python实现XML文件解析的示例代码
2018/02/05 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
Python实现简单的列表冒泡排序和反转列表操作示例
2019/07/10 Python
python保留小数位的三种实现方法
2020/01/07 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
Django缓存Cache使用详解
2020/11/30 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
优良学风班总结材料
2014/02/08 职场文书
期末考试复习计划
2015/01/19 职场文书
工作检讨书范文
2015/01/23 职场文书
中秋节感想
2015/08/10 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
变长双向rnn的正确使用姿势教学
2021/05/31 Python
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS
Python Pytorch查询图像的特征从集合或数据库中查找图像
2022/04/09 Python
Sentry的安装、配置、使用教程(Sentry日志手机系统)
2022/07/23 Python