jQuery错误地报告宽度为零

时间:2010-07-18 12:05:52

标签: jquery html css

我试图通过使用jQuery的.width()函数来访问某些元素的宽度,但有时当我不期望它时,返回值为0。这是一个已知的问题?为什么元素必须可见才能工作?如果有限制,我该如何解决它们呢?

3 个答案:

答案 0 :(得分:8)

如果您正在处理图片,请确保在$(window).load()而不是$(document).ready()中运行代码,如下所示:

$(window).load(function() {
  var width = $("img").width();
});

否则,请确保元素可见,隐藏元素没有.width().height()(两者都会返回0)。

答案 1 :(得分:1)

元素必须已加载..尝试在窗口加载时绑定它

$(window).load(function(){  alert('#img').width()   });

您也可以尝试通过css在我猜想的元素上明确定义宽度。

答案 2 :(得分:0)

您可以使用此额外条件检查图像是否可见

$(window).load(function(){  if($("#img").is(":visible"))alert('#img').width()   });