在jQuery中,獲取元素高度的函數(shù)有3個,它們分別是height()、 innerHeight()、 outerHeight()。
與此相對應的是,獲取元素寬度的函數(shù)也有3個,它們分別是width()、 innerWidth()、 outerWidth()。
在這里,我們以height()、innerHeight()、outerHeight()3個函數(shù)為例,來詳細介紹它們之間的區(qū)別。
下面我們以元素element的盒模型為例來介紹它們之間的區(qū)別。
函數(shù)
高度范圍
jQuery版本
支持寫操作
height()
height
1.0+
1.0+
innerHeight()
height + padding
1.2.6+
1.8.0+
outerHeight()
height + padding + border
1.2.6+
否
outerHeight(true)
height+padding+border+margin
1.2.6+
否
1、 只有height()函數(shù)可用于window或document對象。
2、 "支持寫操作"表示該函數(shù)可以為元素設置高度值。
3、 1.4.1+ height()新增支持參數(shù)為函數(shù)(之前只支持數(shù)值)。
4、 1.8.0+ innerHeight()支持參數(shù)為數(shù)值或函數(shù)。
現(xiàn)在,我們參考以下HTML + jQuery示例代碼:
<div id="element" style="margin:5px; padding:10px; width:100px; height:100px; border:1px solid #000;"></div> <script type="text/javascript"> var $ele = $("#element"); // height() = height(100) = 100 document.writeln( $ele.height() ); // 100 // innerHeight() = height(100) + padding(10*2)= 120 document.writeln( $ele.innerHeight() ); // 120 // outerHeight() = height(100) + padding(10*2) + border(1*2) = 122 document.writeln( $ele.outerHeight() ); // 122 // outerHeight(true) = height(100) + padding(10*2) + border(1*2) + margin(5*2) = 132 document.writeln( $ele.outerHeight(true) ); // 132 </script>
測試的時候記得機上jquery地址。