首页 >web前端 >js教程 >jQuery.width() 函数详解

jQuery.width() 函数详解

巴扎黑
巴扎黑原创
2017-07-08 11:24:012990浏览

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

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

jQuery-width-schematic-diagram.png

如果你要获取包括其它部分在内的宽度,请使用innerWidth()和outerWidth(),你可以点此查看三者之间的区别。

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

语法

jQueryObject.width( [ value ] )

注意:

1、如果省略了value参数,则表示获取宽度;如果指定了该参数,则表示设置宽度。

2、width()函数的"设置"操作针对的是当前jQuery对象所匹配的每一个元素;"读取"操作只针对第一个匹配的元素。

参数

参数 描述

value 可选/Number类型用于设置的宽度值。

jQuery 1.4.1 新增支持:参数value可以为函数,则width()将根据匹配的所有元素遍历执行该函数,函数中的this将指向对应的DOM元素。

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

返回值

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

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

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

示例&说明

width()函数和css("width")作用相似,只不过width()的宽度值不带单位(单位为像素)。

$(element).width(); // 返回数字,例如:80
$(element).css("width"); // 返回字符串,例如:"80px"

以下面这段HTML代码为例:

<div id="n1" style="padding: 10px; width: 100px; height:100px; background: #eee;"></div>
<div id="n2" style="width: 200px; height:100px; background: #999;"></div>

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

var $n1 = $("#n1");
var $n2 = $("#n2");
document.writeln( $n1.width() ); // 100
document.writeln( $n2.width() ); // 200
var $divs = $("div");
// 如果匹配多个元素,只返回第一个元素的width
document.writeln( $divs.width() ); // 100
// 设置所有div元素的width不能小于300px(小于300的设为300,其它保持不变)
$divs.width( function(index, width){
    return Math.max(width, 300);
} );
// 设置n1的width为20px
$n1.width( 20 );

以上是jQuery.width() 函数详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn