首頁  >  文章  >  web前端  >  jQuery.width() 函數詳解

jQuery.width() 函數詳解

巴扎黑
巴扎黑原創
2017-07-08 11:24:012925瀏覽

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