手机
当前位置:查字典教程网 >编程开发 >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标签的宽高的问题】相关文章:

javascript清空table表格的方法

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

判断file框选择的是否为图片

JavaScript的while循环的使用

jquery.validate使用时遇到的问题

精确到分钟的js日历控件,日期选择器代码

简介AngularJS中$http服务的用法

JS+CSS实现的拖动分页效果实例

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

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

精品推荐
分类导航