2016-02-27 66 views

回答

2

jQuery的.height()仅获取所选元素集合中第一个元素的高度。所以你需要分别选择每一个,并自己决定它的高度。

从文档:

获得在该组匹配元件的第一元件的电流计算出的高度或设置每个匹配的元件的高度。

http://api.jquery.com/height/

$('#container').height($(window).height() - $('#a').height() - $('#b').height() - $('#c').height() - $('#d').height()); 

更新小提琴:https://jsfiddle.net/0gtkgLem/2/

+0

谢谢贾斯珀! 效果很好!我忘记了容纳边际,我认为他们将被包括在元素高度,但我猜不是。 现在我正在处理这个问题:https://jsfiddle.net/0gtkgLem/6/ 这是一个更优雅的解决方案,在您看来,切换到填充和解决CSS的问题,或通过jQuery的? – patrick

+0

@patrick看看'.outerHeight(true)'获取元素的高度,包括填充和可选的边距:http://api.jquery.com/outerheight/。更新的小提琴:https://jsfiddle.net/0gtkgLem/7/ – Jasper

0

我觉得你的语法是正确的。你的jsfiddle不工作,因为你不包括jQuery插件。请参阅https://jsfiddle.net/0gtkgLem/1/

+0

你说得对有关的jsfiddle,但高度仍是不正确的。它不会使div成为页面上剩余空间的确切高度。它更高。 – patrick

+0

也许是'#v'?这可能是一个错字 – cfatt10