`

原生js获取宽高与jquery获取宽高的方法的关系

阅读更多
转载自,感谢原作者贡献:[url]http://zhuweiwu.com/?p=86
[/url]2011 年 12 月 31 日


说明: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未设定宽高的情况下,不会出现滚动条。
分享到:
评论

相关推荐

    原生js获取宽高与jquery获取宽高的方法关系对比

    在本文中,我们将深入探讨原生JavaScript与jQuery获取元素宽度的差异和关系,并结合具体的属性和方法进行对比。 首先,我们要明白原生JavaScript中获取元素宽度的两个主要属性:`style.width`和`offsetWidth`。`...

    jquery 库与原生javascript 常用方法

    **jQuery库与原生JavaScript常用方法** jQuery是一个广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互。这个博客主要探讨了jQuery库与原生JavaScript之间的对比,以及它们各自的一些常用...

    原生JS上传文件,获取文件二进制数据及文件大小和文件名称

    当用户选择文件后,我们可以通过JavaScript获取选中的文件对象。我们可以为这个输入元素添加一个事件监听器,如`change`事件: ```javascript const fileInput = document.getElementById('fileInput'); fileInput...

    javascript 原生Dom对象和jQuery对象的联系和区别

    原生DOM对象是由浏览器提供的API创建的,例如通过`document.getElementById`或`document.querySelector`等方法获取到的元素。原生DOM操作的优点是直接、高效,但其API较为复杂,需要编写更多的代码来实现相同的功能...

    jQuery获取table下某一行某一列的值实现代码

    从提供的文件内容中,我们可以提取以下关于jQuery获取表格中某一行某一列值的知识点: 1. jQuery选择器的使用:在文中,通过使用选择器 $(".div") 找到了包含多个表格的div元素。这说明了jQuery选择器用于选取页面...

    页面js,jquery两种方式获取百度接口经度纬度

    本文将详细介绍如何使用JavaScript(JS)和jQuery这两种方法在页面上获取百度接口提供的经度和纬度信息。百度地图API提供了丰富的地理定位功能,开发者可以通过调用其接口获取到用户的精确位置。 首先,我们来看...

    通过原生js和jQuery书写了一个电商平台系统.zip

    在这个名为“通过原生js和jQuery书写了一个电商平台系统.zip”的压缩包中,包含了一个使用JavaScript(包括原生JS和jQuery库)开发的前端电商平台项目。这个项目可能是一个基础的在线购物平台,展示了如何利用这两种...

    jQuery与javascript对照学习 获取父子前后元素 实现代码.docx

    ### jQuery与JavaScript获取父子前后元素实现代码 #### 一、引言 在Web前端开发过程中,经常需要对DOM(文档对象模型)进行操作,包括选取元素、修改样式、添加或删除节点等。jQuery作为一种轻量级的JavaScript库...

    jquery获取form表单input元素值的简单实例

    在本篇内容中,我们将详细探讨如何使用jQuery来获取form表单中input元素的值,包括文本框、复选框、单选按钮等不同类型input元素的值获取方法。通过jQuery提供的val()方法和attr()方法,我们可以轻松获取或设置input...

    JS,Jquery获取各种屏幕的宽度和高度

    ### JS与jQuery获取屏幕宽度和高度的相关知识点 在前端开发中,经常需要获取用户的屏幕尺寸信息,例如宽度和高度等,这些数据对于响应式设计、布局调整等方面具有重要作用。通过JavaScript(简称JS)和jQuery这两种...

    原生js封装的一些jquery方法(详解)

    ### 扩展:其他常用的jQuery方法的原生JS封装 - `toggleClass` - 切换类:原生JS可以使用 `classList.toggle` 来实现。 - `attr` - 获取/设置属性:原生JS可以使用 `element.getAttribute` 和 `element....

    演员选择框三级联动(原生javascript和jquery实现)

    主要步骤与原生JS类似,但语法更简洁: 1. 使用`$(selector)`选择器获取元素。 2. 使用`.on('change', function() {...})`绑定事件监听。 3. 在事件回调函数中,利用`.html()`或`.append()`方法更新下级选择框的选项...

    jquery-1.9.1(js和min.js下载)

    《jQuery 1.9.1:JavaScript库的核心与优化》 jQuery,作为一款广泛应用于Web开发的JavaScript库,因其简洁的API和强大的功能而深受开发者喜爱。本资源提供的是jQuery的1.9.1版本,包含了标准的js文件和经过压缩...

    js与jquery获取父元素,删除子元素的两种不同方法.docx

    ### JS与jQuery获取父元素及删除子元素的不同方法 #### 一、概述 在Web开发过程中,经常需要处理DOM(Document Object Model)的操作,包括获取元素、修改元素属性以及删除元素等。本文将详细介绍如何使用...

    jquery.alerts.js(jQuery Alert, Confirm, Prompt)

    总的来说,`jquery.alerts.js`通过提供高度可定制的jQuery对话框,解决了原生JavaScript对话框样式单一的问题,使得开发者能够创建出更符合用户界面设计的警告、确认和输入提示,从而提升用户体验,优化网页交互流程...

    js监听键盘事件的方法_原生和jquery的区别详解.docx

    #### 四、原生JS与jQuery的比较 1. **语法简便性**: - **原生JS**:需要手动绑定事件处理函数。 - **jQuery**:使用简洁的链式调用,使得代码更加简洁易读。 2. **兼容性**: - **原生JS**:适用于所有现代...

    原生js仿jquery一些常用方法(必看篇)

    本文将探讨如何通过扩展JavaScript对象的原型链,实现类似jQuery的一些常用方法。 首先,我们来看显示和隐藏元素的方法。在jQuery中,使用`hide()`和`show()`方法来切换元素的可见性非常简单。在原生JavaScript中,...

    原生js生成二维码(完美可用)

    总结,这款“原生js生成二维码(完美可用)”的工具对于开发人员来说是一个实用的资源,无论是快速原型开发还是生产环境部署,都能提供便捷的二维码生成功能。它的独立性、易用性和灵活性使其成为开发中的理想选择。...

    jquery-3.5.1.js/min.js

    对于DOM操作,jQuery提供了便捷的方法,如`.html()`用于设置或获取元素的HTML内容,`.append()`用于向元素内部追加内容,`.hide()`和`.show()`用于元素的显示与隐藏。这些方法使得DOM操作变得简单直观。 在事件处理...

Global site tag (gtag.js) - Google Analytics