Короче говоря, есть ли способ установить externalWidth?
$.outerWidth(true, newValue)
Обновление: Я нашел несколько аддонов, которые делают это, хотя мне нужно одно определение функции, а не 3 аддона, чтобы сделать это.
Вы были довольно близко.В jQuery 1.8+ просто используйте:
.outerWidth(newValue, true);
Также работает для:
.innerWidth(val)
.innerHeight(val)
.outerWidth(val [, true])
.outerHeight(val [, true])
Это фактически сталосеттер с помощью jQuery 1.8.Это через 1 год после того, как вы разместили свой вопрос.Более того, он был указан в changelog , но никто не обновил документацию , в которой объясняется, что многие могли его пропустить.
Если у вас есть jQuery1.7.2 или старше, см. ответ Xeo (на этой странице) или используйте jquery-ui 1.8.4+, который автоматически превращает эти методы в методы получения / установки (так как в jQuery 1.8,эти методы были на самом деле перенесены из jquery-ui).
Это то, что вы ищете?
var a = $('element'); actualWidth = a.outerWidth(true), desiredWidth = 1000, difference = desiredWidth - actualWidth, a.css('width',difference);
Если вы хотите установить ширину элемента, вы можете использовать эти примеры
var a = $("#element"); a.width(10); a.css("width", "10px");