.width()返回类型:Number
描述:针对匹配的元素集合中的第一个元素,取得当前的计算宽度。
.css(width)
和.width()
的区别在于,后者返回一个无单位的像素值(例如400
),而前者返回一个带有完整的单位的值(例如,400px
)。如果元素的宽度需要用于数学计算,建议使用.width
方法。
此方法还可以找到窗口的宽度和文档的宽度。
1
2
3
4
5
|
|
请注意,.width()
将始终返回内容宽度,无论CSS box-sizing
属性的值如何。自从jQuery 1.8以业,这可能需要检索CSS宽度加上box-sizing
属性,然后当元素具有box-sizing: border-box
时,减去每个元素上任何潜在的边框以及补白。若要避免此不利之处,请用.css( "width" )
而不是用.width()
。
注意:如果style
和script
标签给了绝对定位和display:block
,它们将针对.width()
或height()
报告一个值,但是强烈不建议在这些标签上调用那些方法。除了是一种坏做法,此结果还被证明为不可靠。
补充说明:
-
由尺寸相关的API返回的数字,包括
.width()
,在有些情况下可能是小数。代码并不假设它是一个整型数。而且,当用户缩放网页时,尺寸可能不正确;浏览器并不曝露一个API,以诊测此条件。 -
当元素或它的父元素是隐藏的时候,
.width()
报告的值并不保证是精确的。若要取得精确的值,请确保在使用width()
之前,元素是可见的。jQuery将尝试临时显示,然后再次隐藏一个元素,以测量出它的尺寸,但是这是不可靠的,而且(哪怕准确)也会显著影响网页的性能。在未来的jQuery版本中,可能删除这种先显示再隐藏的测量功能。
示例:
显示各种宽度。请注意,值来自浮动框架,所以可能小于你的期待。黄色高亮来自浮动框架体。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
|
演示:
.width( value )返回类型:jQuery
描述:针对每个匹配的元素设置宽度
-
增补版本:1.0.width( value )
-
value一个整型数,代表像素数,或者一个整型数,后面带有可选的测度单位(作为字符串)。
-
-
增补版本:1.4.1.width( function )
-
function一个函数,返回要设置的高度。检索集合中索引位置,以及旧的高度,作为参数。在此函数内部,
this
指的是集合中的当前元素。
-
在调用.width("value")
时,此值既可以是一个字符串(数字和单位),也可以是一个数字。如果只向该值提供一个数字,jQuery会假定它的单位是像素。然而,如果提供了一个字符串,则必须提供一个用于高度的有效的CSS测量(譬如100px
、50%
或auto
)。请注意,在现代浏览器中,CSS高度属性并不包括补白、边框或边距,除非使用了CSS属性box-sizing
。
如果没有明确指定单位(譬如“em”或“%”),则假定单位是“px”。
请注意,.width("value")
设置了盒的内容宽度,无论CSSbox-sizing
属性的值是什么。
示例:
当每个<div>第一次被点击时,改变它的宽度(并改变它的颜色)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
|