Jquery firefox和chrome在';console.log';
为什么firefox会给我正确的输出,而Chrome却没有 我试图找到样式表或其他任何地方未指定的div的高度 Chrome给了我整数值“20”,但firefox给了我正确的值(使用firebug)516 这是我用来生成console.log的代码:Jquery firefox和chrome在';console.log';,jquery,firefox,google-chrome,cross-browser,Jquery,Firefox,Google Chrome,Cross Browser,为什么firefox会给我正确的输出,而Chrome却没有 我试图找到样式表或其他任何地方未指定的div的高度 Chrome给了我整数值“20”,但firefox给了我正确的值(使用firebug)516 这是我用来生成console.log的代码: var img_h = $("#pics").height(); console.log(img_h); <div id="pics" width="100%"> <img src="image1.jpg
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>
var img_h=$(“#pics”).height();
控制台日志(img_h);
想法?这不是解决方案,但我将把它留给别人,因此也没有人提供它
不肯定,请尝试将jquery包装到doc ready包装中:
$( document ).ready(function(){
//your code
});
这只是一个理论,但可能是当console.log启动时,元素还没有实际加载。如果您希望加载图像,而不是
文档。ready
您应该使用,如下所示:
$(window).load(function() {
var img_h = $("#pics").height();
console.log(img_h);
});
最显著的区别是,当代码运行时,图像(不是动态创建的!)被加载并准备就绪。您什么时候执行代码?我知道有些浏览器首先将高度设置为初始值,只有在进行渲染和布局时,正确的值才可用。因此,如果您试图使高度提前,则可能是错误的。它位于我的文档末尾。就绪(函数)。字面上是在尾随}之前;它在我的整个文档中。就绪(函数)。那里已经有其他代码了,所以我应该有两个document.ready(函数)吗。那就不是问题了。我可以把这个放在“document.ready(function){”里面吗?还是放在外面?万一别人好奇,外面更安全,@marc-Welcome:)