[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 border
et padding
par défaut, ainsi que margin
si le premier argument de la fonction esttrue
[Réponse originale]
La width
méthode ne nécessite plus le dimensions
plugin, 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 width
mé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