展会信息港展会大全

原生js获取宽高与jquery获取宽高的方法关系对比
来源:互联网   发布日期:2016-01-26 10:59:41   浏览:1083次  

导读:这篇文章主要介绍了原生js获取宽高与jquery获取宽高的方法关系对比,需要的朋友可以参考下说明:1、因为获取高度的情况跟获取宽度的情况一样,所以以下只说获取宽度的情况。 2、以下所说的所有方法与属性所返 ...

这篇文章主要介绍了原生js获取宽高与jquery获取宽高的方法关系对比,需要的朋友可以参考下

说明:1、因为获取高度的情况跟获取宽度的情况一样,所以以下只说获取宽度的情况。

2、以下所说的所有方法与属性所返回的值都是不带单位的。

3、为了方便说明,以下情况采用缩写表示:

obj -> 在原生JS中表示DOM对象;在JQuery中表示JQuery对象

Width -> obj.style.width

OffsetWidth -> obj.offsetWidth

$width -> obj.width()

$innerWidth -> obj.innerWidth()

$outerWidth -> obj.outerWidth()

padding -> 表示对象的padding-left和padding-right之和

border -> 表示对象的border-left-width和border-right-width之和

原生JS获取宽度的相关属性有 width和offsetWidth。width的获取方法是obj.style.width,只有当对象是通过内嵌方式设定宽度时才能获得,否则返回的是一个空字符串。offsetWidth获得的值跟JQuery中获得对象的outerWidth一样,offsetWidth是非标准的但却得到很好支持的属性。

JQuery获得宽度的方法有width()、innerWidth()、outerWidth()这三种方法。具体使用方式是:obj.width()、obj.innerWidth()、obj.outerWidth()。width()获得的是对象的内容宽度,innerWidth()获得的是对象的内容宽度与填充宽度的和,outerWidth()获得的是包括边框、填充宽度与内容宽度在内的宽度。

这五种方法之间的关系如下:

width = $width;

offsetWidth = border + padding +width;

$innerWidth = padding + width;

$outerWidth = border + padding +width;

这五种方法对firefox、chrome、opera、safari、ie6、ie7、ie8、ie9都兼容,只是存在着两种问题:1、 width在没有设定的情况下,chrome在第一次打开页面时,所获取到的宽度全部都是错误的。第二次打开时,结果就跟firefox一致。2、ie6 未设定宽高的情况下,不会出现滚动条

赞助本站

人工智能实验室

相关热词: jquery js

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港