我试图通过使用jQuery的.width()
函数来访问某些元素的宽度,但有时当我不期望它时,返回值为0
。这是一个已知的问题?为什么元素必须可见才能工作?如果有限制,我该如何解决它们呢?
答案 0 :(得分:8)
如果您正在处理图片,请确保在$(window).load()
而不是$(document).ready()
中运行代码,如下所示:
$(window).load(function() {
var width = $("img").width();
});
答案 1 :(得分:1)
元素必须已加载..尝试在窗口加载时绑定它
$(window).load(function(){ alert('#img').width() });
您也可以尝试通过css在我猜想的元素上明确定义宽度。
答案 2 :(得分:0)
您可以使用此额外条件检查图像是否可见
$(window).load(function(){ if($("#img").is(":visible"))alert('#img').width() });