jQuery height()、innerHeight()、outerHeight()函数的区别详解


Posted in Javascript onMay 23, 2016

在jQuery中,获取元素高度的函数有3个,它们分别是height()、 innerHeight()、 outerHeight()。

与此相对应的是,获取元素宽度的函数也有3个,它们分别是width()、 innerWidth()、 outerWidth()。

在这里,我们以height()、innerHeight()、outerHeight()3个函数为例,来详细介绍它们之间的区别。

下面我们以元素element的盒模型为例来介绍它们之间的区别。

jQuery height()、innerHeight()、outerHeight()函数的区别详解

函数 高度范围 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()函数可用于window或document对象。
2、 "支持写操作"表示该函数可以为元素设置高度值。
3、 1.4.1+ height()新增支持参数为函数(之前只支持数值)。
4、 1.8.0+ innerHeight()支持参数为数值或函数。

现在,我们参考以下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地址。

Javascript 相关文章推荐
用JS实现的一个include函数
Jul 21 Javascript
JavaScript中yield实用简洁实现方式
Jun 12 Javascript
JS下拉框内容左右移动效果的具体实现
Jul 10 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
Nov 14 Javascript
JavaScript变量的作用域全解析
Aug 14 Javascript
javascript产生随机数方法汇总
Jan 25 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
纯js模仿windows系统日历
Feb 04 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
JavaScript异步操作的几种常见处理方法实例总结
May 11 Javascript
Javascript执行流程细节原理解析
May 14 Javascript
ant design 日期格式化的实现
Oct 27 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 #Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 #Javascript
谈一谈bootstrap响应式布局
May 23 #Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
May 23 #Javascript
JavaScript的Vue.js库入门学习教程
May 23 #Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 #Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
May 23 #Javascript
You might like
古巴咖啡 Cubita琥爵咖啡 独特的加勒比海风味咖啡
2021/03/06 新手入门
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
Smarty模板语法详解
2019/07/20 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
javascript获取当前日期时间及其它操作函数
2011/01/11 Javascript
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
webapp框架AngularUI的demo改造之路
2014/12/21 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
浅谈JS中json数据的处理
2016/06/30 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
2017/01/05 Javascript
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
2018/09/12 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
Python模块搜索路径代码详解
2018/01/29 Python
python利用高阶函数实现剪枝函数
2018/03/20 Python
使用python绘制二元函数图像的实例
2019/02/12 Python
django框架模板中定义变量(set variable in django template)的方法分析
2019/06/24 Python
Python测试模块doctest使用解析
2019/08/10 Python
关于python中的xpath解析定位
2020/03/06 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
基于Html5 canvas实现裁剪图片和马赛克功能及又拍云上传图片 功能
2019/07/09 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
社会实践自我鉴定
2013/11/07 职场文书
毕业自我评价范文
2013/11/17 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
2014年市场部工作总结
2014/11/25 职场文书
小学数学教师研修感悟
2015/11/18 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python
SQLServer之常用函数总结详解
2021/08/30 SQL Server
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
python实现学生信息管理系统(面向对象)
2022/06/05 Python