2016-02-27 67 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