[アップデート]
元の回答はjQuery 1.3より前に書かれており、当時存在していた関数は、幅全体を計算するのに十分ではありませんでした。
現在、JPが正しく述べているように、jQuery には、デフォルトで andを含む関数outerWidthとouterHeightがあり、関数の最初の引数がborder
padding
margin
true
[元の回答]
メソッドにプラグインが追加されたためwidth
、プラグインは不要になりました。dimensions
jQuery Core
あなたがする必要があるのは、その特定の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 からパディングまたはマージンの値を変更しても、常に正しい計算値を取得できます。