[Update]
คำตอบดั้งเดิมเขียนขึ้นก่อน jQuery 1.3 และฟังก์ชั่นที่มีอยู่ ณ เวลาที่ตัวเองไม่เพียงพอในการคำนวณความกว้างทั้งหมด
ตอนนี้ในขณะที่JPถูกต้อง jQuery มีฟังก์ชั่นouterWidthและouterHeightซึ่งรวมถึงborder
และpadding
โดยค่าเริ่มต้นและmargin
ถ้าอาร์กิวเมนต์แรกของฟังก์ชั่นคือtrue
[คำตอบเดิม]
width
วิธีการไม่ต้องใช้dimensions
ปลั๊กอินเพราะมันได้รับการเพิ่มjQuery Core
สิ่งที่คุณต้องทำคือรับค่า padding, margin และ border width ของ div นั้น ๆ และเพิ่มเข้าไปในผลลัพธ์ของwidth
เมธอด
บางสิ่งเช่นนี้
var theDiv = $("#theDiv");
var totalWidth = theDiv.width();
totalWidth += parseInt(theDiv.css("padding-left"), 10) + parseInt(theDiv.css("padding-right"), 10); //Total Padding Width
totalWidth += parseInt(theDiv.css("margin-left"), 10) + parseInt(theDiv.css("margin-right"), 10); //Total Margin Width
totalWidth += parseInt(theDiv.css("borderLeftWidth"), 10) + parseInt(theDiv.css("borderRightWidth"), 10); //Total Border Width
แบ่งออกเป็นหลายบรรทัดเพื่อให้อ่านง่ายขึ้น
ด้วยวิธีนี้คุณจะได้รับค่าคำนวณที่ถูกต้องเสมอแม้ว่าคุณจะเปลี่ยนค่าการเติมเต็มหรือระยะขอบจาก css