我在很多地方都使用了outerHeight
和outerWidth
。现在,在jQuery 1.8发布之后,我遇到了很多由对象返回而不是其大小引起的问题。
例如:
$('#stackoverflowdiv').Height() // returns 100 px
$('#stackoverflowdiv').outerHeight() // returns "stackoverflowdiv" div
我发现解决此问题的唯一方法是在函数中使用“true / false”,如下所示,但是得到的结果与标准
width()
和height()
函数相同:$('#stackoverflowdiv').outerHeight(true) // returns 100 px
$('#stackoverflowdiv').outerHeight(false) // returns 100 px
有谁知道为什么这不再起作用或以其他方式获取元素的高度/宽度及其边距的原因。
编辑:我开始相信,这是因为我正在使用
contents()
函数在iframe中选择元素。我将尝试进行演示。 最佳答案
这实际上是已知的jQuery错误,您可以阅读有关here的信息。
我没有参数,但修复程序正在设置参数(即使有默认的{false}),但我能够通过将true参数替换为1并将false替换为0来打破Barlas的 fiddle 。如果是这样,那就不要这样做。
做这个:
alert(jQuery(this).outerHeight(false));
不要这样做:
alert(jQuery(this).outerHeight());
alert(jQuery(this).outerHeight(0));