[Обновить]
Оригинальный ответ был написан до jQuery 1.3, и функции, которые существовали в то время, были не в состоянии сами по себе рассчитать всю ширину.
Теперь, как правильно утверждает JP , в jQuery есть функции externalWidth и outerHeight, которые включают в себя border
и padding
по умолчанию, а также margin
первый аргумент функции iftrue
[Оригинальный ответ]
Для width
метода больше не требуется dimensions
плагин, потому что он был добавлен вjQuery Core
Что вам нужно сделать, это получить значения padding, margin и border этого конкретного 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