[Mettre à jour]
La réponse originale a été écrite avant jQuery 1.3, et les fonctions qui existaient à l'époque n'étaient pas suffisantes en elles-mêmes pour calculer toute la largeur.
Maintenant, comme JP l' indique correctement, jQuery a les fonctions externalWidth et outerHeight qui incluent le borderet paddingpar défaut, ainsi que marginsi le premier argument de la fonction esttrue
[Réponse originale]
La widthméthode ne nécessite plus le dimensionsplugin, car il a été ajouté aujQuery Core
Ce que vous devez faire est d'obtenir les valeurs de remplissage, de marge et de largeur de bordure de ce div particulier et de les ajouter au résultat de la widthméthode
Quelque chose comme ça:
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
Diviser en plusieurs lignes pour le rendre plus lisible
De cette façon, vous obtiendrez toujours la valeur calculée correcte, même si vous modifiez les valeurs de remplissage ou de marge du css