firefox和chrome的输出与'console.log'之间存在差异

时间:2010-08-03 20:39:07

标签: jquery firefox google-chrome cross-browser

为什么firefox会给我正确的输出但Chrome没有?

我试图找到未在样式表或其他任何地方指定的div的高度。

Chrome给我的整数值为'20',但是firefox给了我516的正确值(使用firebug)。

这是我用来生成console.log的代码:

var img_h = $("#pics").height();
    console.log(img_h);

<div id="pics" width="100%">
        <img src="image1.jpg" width="45%">
        <img src="image2.jpg" width="45%">
    </div>

思想?

2 个答案:

答案 0 :(得分:2)

如果您想要加载图片,而不是document.ready,则应使用window.onload,如下所示:

$(window).load(function() {
  var img_h = $("#pics").height();
  console.log(img_h);
});

最显着的区别是,当此代码运行时,图像(未动态创建!)已加载并准备就绪。

答案 1 :(得分:0)

这不是解决方案,但是我把它留下来,所以没有其他人提供它。


不是肯定的,尝试将jquery包装在doc ready包装器中:

$( document ).ready(function(){
    //your code
});

只是一个理论,但可能是当console.log正在触发时,元素实际上还没有加载。