1

这是一个 JSFiddle 来说明问题:

http://jsfiddle.net/TKX9j/3/

(function($) {
    var foo = $('#foo');
    foo.css('width', "").css('width', foo.width());
    foo.text('This is '+foo.css('width')+' wide.');
})(jQuery);

如您所见,我将依靠重置和获取元素的宽度,但我得到了一个巨大的数字。为什么?onLoad当我设置在左侧时,它不会发生。No wrap - in <head>不相关。我等不及onLoad在我的生产代码中了。

我正在使用这个: http ://code.google.com/p/css3-mediaqueries-js/

4

1 回答 1

0

这是因为浏览器还没有确定元素的宽度,所以它很可能只是返回一些垃圾值。

如果可能尝试在 CSS 中设置默认宽度,那么您甚至会在 onLoad 事件之前获得该尺寸。

于 2013-06-03T01:21:21.030 回答