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中文網其他相關文章!