关于用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 相关文章推荐
js右键菜单效果代码
Jul 21 Javascript
JavaScript中的对象化编程
Jan 16 Javascript
event对象的方法 兼容多浏览器
Jun 27 Javascript
js添加table的行和列 具体实现方法
Jul 22 Javascript
用js正确判断用户名cookie是否存在的方法
Jan 28 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
Mar 20 Javascript
Javascript中的apply()方法浅析
Mar 15 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
微信小程序实现选项卡效果
Nov 06 Javascript
bootstrap table列和表头对不齐的解决方法
Jul 19 Javascript
vue中通过使用$attrs实现组件之间的数据传递功能
Sep 01 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 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
php 引用(&amp;)详解
2009/11/20 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
php时间戳转换的示例
2014/03/31 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
浅谈Laravel队列实现原理解决问题记录
2017/08/19 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
php7 参数、整形及字符串处理机制修改实例分析
2020/05/25 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
关于document.cookie的使用javascript
2008/04/11 Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
2011/07/27 Javascript
jQuery插件实现无缝滚动特效
2015/11/24 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
python学习手册中的python多态示例代码
2014/01/21 Python
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
详解Django中的ifequal和ifnotequal标签使用
2015/07/16 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
python操作excel的方法
2018/08/16 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
在python 中实现运行多条shell命令
2019/01/07 Python
python可视化实现代码
2019/01/15 Python
Python实现查找二叉搜索树第k大的节点功能示例
2019/01/24 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
运动会通讯稿400字
2014/01/28 职场文书
教你如何使用Python开发一个钉钉群应答机器人
2021/06/21 Python
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫