[Atualizar]
A resposta original foi escrita antes do jQuery 1.3 e as funções que existiam no momento não eram adequadas por si mesmas para calcular toda a largura.
Agora, como o JP afirma corretamente, o jQuery possui as funções outerWidth e outerHeight, que incluem o border
e padding
por padrão, e também o margin
if, o primeiro argumento da função étrue
[Resposta original]
O width
método não requer mais o dimensions
plug - in, porque ele foi adicionado aojQuery Core
O que você precisa fazer é obter os valores de preenchimento, margem e largura da borda dessa div específica e adicioná-los ao resultado do width
método
Algo assim:
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
Divida em várias linhas para torná-lo mais legível
Dessa forma, você sempre obterá o valor calculado correto, mesmo se alterar os valores de preenchimento ou margem do css