innerWidth(number) will subtract the padding, in pixels from number, and set the css width of the element to the difference
outerWidth(number) will subtract the padding and border, in pixels from number, and set the css width of the element to the difference
outerWidth(number, true) will subtract the padding and border and margin, in pixels from number, and set the css width of the element to the difference
jQuery (inner|outer)(Width|Height) are setters as well as getters
This undocumented behavior is described in an open issue:
This one bit me today while I was searching for where a plug-in was setting inline styles, if it helps in updating the docs, it looks like the behavior change was between 1.7.2 and 1.8.0
This update should be prioritized.
@AurelioDeRosa A pull request would be a great motivator for this if it's something you'd like to see. Somehow this slipped through without a docs change. http://bugs.jquery.com/ticket/10877
inner/outer height/width setters, closes gh-98
inner/outer height/width setters
In case it's not clear, this also applies to innerHeight and outerHeight as well.
outerHeight: document the method as a setter
outerWidth: document method as a setter