innerWidth()函数用于设置或返回当前匹配元素的内宽度

内宽度包括元素的内边距(padding),但不包括外边距(margin)、边框(border)等部分的高度。如下图:

如果你要获取其它情况的宽度,请使用width()outerWidth(),你可以点此查看三者之间的区别

该函数属于jQuery对象(实例),并且对不可见的元素依然有效。

语法

jQuery 1.2.6 新增该函数。

jQueryObject.innerWidth( [ value ] )

注意:
1、如果省略了value参数,则表示获取内宽度;如果指定了该参数,则表示设置内宽度。
2、innerWidth()函数的"设置"操作针对的是当前jQuery对象所匹配的每一个元素;"读取"操作只针对第一个匹配的元素。

参数

参数 描述
value 可选/Number类型用于设置的内宽度值。

1.8.0之前,innerWidth()只用于获取内宽度(不接受任何参数),无法设置内宽度值。

jQuery 1.8.0 新增支持:innerWidth()函数支持参数value,用于设置每个匹配元素的内宽度。

参数value还可以为函数,则innerWidth()将根据匹配的所有元素遍历执行该函数,函数中的this将指向对应的DOM元素。

innerWidth()还会为函数传入两个参数:第一个参数就是当前元素在匹配元素中的索引,第二个参数就是该元素当前的内宽度。函数的返回值就是需要设置的内宽度。

返回值

innerWidth()函数的返回值为jQuery/Number类型,返回值的类型取决于innerWidth()函数当前执行的是"设置"操作还是"读取"操作。

如果innerWidth()函数执行的是"设置"操作,则返回当前jQuery对象本身;如果是"读取"操作,则返回第一个匹配元素的内宽度。

如果当前jQuery对象匹配多个元素,返回内宽度时,innerWidth()函数只以其中第一个匹配的元素为准。如果没有匹配的元素,则返回null

innerWidth()不适用于windowdocument,请使用width()替代。

示例&说明

以下面这段HTML代码为例:

<div id="n1" style="padding: 10px; width:100px;  height: 100px; border: 1px solid #000;"></div>
<div id="n2" style="margin:10px; width: 150px; height: 100px; background: #999;"></div>

以下jQuery示例代码用于演示innerWidth()函数的具体用法:

var $n1 = $("#n1");
var $n2 = $("#n2"); document.writeln( $n1.innerWidth() ); // 120
document.writeln( $n2.innerWidth() ); // 150 var $divs = $("div");
// 如果匹配多个元素,只返回第一个元素的innerWidth
document.writeln( $divs.innerWidth() ); // 120 /* *****以下jQuery代码仅限于 1.8.0及之后版本***** */ // 设置所有div元素的innerWidth不能小于150px(小于150的设为150,其它保持不变)
$divs.innerWidth( function(index, innerWidth){
    return Math.max(innerWidth, 150);      
} ); // 设置n1的innerWidth为20px
$n1.innerWidth( 20 );

jQuery.innerWidth() 函数详解的更多相关文章

  1. jQuery.attr() 函数详解

    一,jQuery.attr()  函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...

  2. jQuery.ready() 函数详解

    jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...

  3. jquery inArray()函数详解

    jquery inarray()函数详解 jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index o ...

  4. 【转载】jQuery.extend 函数详解

    转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...

  5. jQuery.hasClass() 函数详解

    jQuery.hasClass() 函数详解 hasClass()函数用于指示当前jQuery对象所匹配的元素是否含有指定的css类名. 该函数属于jQuery对象(实例). 语法 JavaScrip ...

  6. jQuery.ajax() 函数详解

    jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. ...

  7. jQuery.makeArray() 函数详解

    jQuery.makeArray()函数用于将一个类数组对象转换为真正的数组对象. 所谓"类数组对象"就是一个常规的Object对象,但它和数组对象非常相似:具备length属性, ...

  8. jQuery.isEmptyObject() 函数详解

    所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. 该函数属于全局jQuery对象. 语法 jQuery 1.4 新增该 ...

  9. jQuery.proxy() 函数详解

    jQuery.proxy()函数用于改变函数的上下文. 你可以将指定函数传入该函数,该函数将返回一个新的函数,其执行代码不变,但函数内部的上下文(this)已经被更改为指定值. 该函数属于全局的jQu ...

随机推荐

  1. mysql用户修改登录密码及开启远程登录

    一.修改用户登录密码: mysql> show databases;ERROR 1820 (HY000): You must SET PASSWORD before executing this ...

  2. 【枚举+数学】【HDU1271】整数对 难度:五颗星

    整数对 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  3. 使用XE5-PACTH破解Delphi-XE5时,出现检查文件大小失败的解决方法

    今天给自己的64位Win7电脑破解Delphi-XE5时,一直出现检查bds.exe尺寸大小失败的错误提示. 网上查了很久,Csdn上给了个破解的bds.exe,本人一直没什么Csdn积分,没得下,所 ...

  4. how to install tweepy

    首先,设置环境变量: 在path 里面 添加: C:\Python27 , 这是python的安装目录. 打开CMD, 复制 setup.py的目录:C:\Users\Administrator\De ...

  5. C# 和Java的foreach的不同用法

    循环语句为苦逼的程序猿们提供了很大的便利,有while.do...while.for和 foreach.而且foreach语句很简洁,但是它的优点不仅仅在于此,它的效率也是最高的. 作为两个开发语言, ...

  6. RelativeLayout与LinearLayout的区别

    1.LinearLayout是线性布局控件,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的 containers,超过边界时,某些控件将缺失或消失.因此一个垂 ...

  7. Integer to Roman(JAVA)

    public String intToRoman(int num) { int[] values={1000,900,500,400,100,90,50,40,10,9,5,4,1}; String[ ...

  8. pl sql练习(3)

    1.s树形结构查询表中的数据:比如emp表中每个员工都有自己的头,即公司中的职位是按层次划分的,类似一个树,因此有时需要按层次显示查询的结果. select empno,mgr,ename,job f ...

  9. iOS开发面试题整理 (一)

    1. Object-C有多继承吗?没有的话用什么代替? cocoa 中所有的类都是NSObject 的子类多继承在这里是用protocol 委托代理 来实现的 你不用去考虑繁琐的多继承 ,虚基类的概念 ...

  10. 在C#实现托盘效果(转)

    桌面程序的开发中,经常考虑能在状态栏实现托盘快捷操作,托盘程序的实现在API时代,还是相对复杂的,首先在MSDN中可以查看其函数细节, 然后在根据其要求的参数进行复杂的设置.      在.NET时代 ...