原生js获取宽高与jquery获取宽高的方法关系对比
2014-04-04 11:41
633 查看
说明: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未设定宽高的情况下,不会出现滚动条。
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未设定宽高的情况下,不会出现滚动条。
您可能感兴趣的文章:
- JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
- Js获取图片原始宽高的实现代码
- js判断图片加载完成后获取图片实际宽高的方法
- javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
- js获取图片宽高的方法
- 纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
- javascript获取网页宽高方法汇总
- JS 获取浏览器和屏幕宽高等信息代码
- javascript窗口宽高,鼠标位置,滚动高度(详细解析)
- JS获取图片实际宽高及根据图片大小进行自适应
- JS 获取浏览器和屏幕宽高等信息的实现思路及代码
- javascript获取隐藏dom的宽高 具体实现
- js 获取屏幕各种宽高的方法(浏览器兼容)
- 动态改变textbox的宽高的js
- JS获取IMG图片高宽的简单实例
相关文章推荐
- 原生js获取宽高与jquery获取宽高的方法关系对比
- 原生js获取宽高与jquery获取宽高的方法的关系
- 从jQuery的remove()和原生JS的removeChild()方法再观jQuery对象和DOM对象的关系
- 【整理】原生js和jQ获取窗口宽高及滚动条的方法和函数
- 原生js获取浏览器窗口及元素宽高常用方法集合
- jQuery实现隔行变色的方法分析(对比原生JS)
- 获取页面中被选中元素的 JS原生方法 与 jQuery方法 分析
- 获取页面中被选中元素的 JS原生方法 与 jQuery方法 分析
- js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)
- 先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比。
- Js和Jquery获取父级元素、子级元素、兄弟元素的方法
- Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
- jquery的attr方法与ie7不兼容,js获取html标签自定义属性
- Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
- js 原生获取元素的一些方法
- 前端跨域问题相关知识详解(原生js和jquery两种方法实现jsonp跨域)
- js和jquery获取父级元素、子级元素、兄弟元素的方法
- JS快速获取图片宽高的方法
- jQuery的原生js实现---on方法
- JavaScript之JS原生方法实现jQuery的ready()