手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
摘要:先来看现象:复制代码代码如下:$(document).ready(function(){$("#cc").append("");alert(...

先来看现象:

复制代码 代码如下:

<div id="cc"></div>

<script>

$(document).ready(function() {

$("#cc").append("<div id='aa' /></div>");

alert($("#aa").width());

});

</script>

结果为:200

所有浏览器都得到正确的结果

把插入的元素改为IMG

复制代码 代码如下:

<div id="cc"></div>

<script>

$(document).ready(function() {

$("#cc").append("<img id='aa' src='http://www.jb51.net/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='http://www.jb51.net/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", "http://www.jb51.net/images/logo.gif");

});

【关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题】相关文章:

Jquery实现动态切换图片的方法

jQuery实现html表格动态添加新行的方法

jquery实现动态改变div宽度和高度

javascript中DOM复选框选择用法实例

JavaScript基本语法讲解

javascript清空table表格的方法

原生JS和JQuery动态添加、删除表格行的方法

javascript判断并获取注册表中可信任站点的方法

简介AngularJS中$http服务的用法

原生js实现的贪吃蛇网页版游戏完整实例

精品推荐
分类导航