Это определенно возможно!
Сначала вы должны скрыть () родительский элемент. Это не позволит JavaScript вычислять пиксели для дочернего элемента.
$('.parent').hide();
var width = $('.child').width();
$('.parent').show();
alert(width);
См. Мой пример .
Теперь ... Интересно, смогу ли я впервые открыть этот взлом:)
Обновление:
One-лайнер
element.clone().appendTo('body').wrap('<div style="display: none"></div>').css('width');
Он оставит скрытый элемент перед тегом </body>
, который вы можете захотеть .remove()
.
См. пример однострочного .
Я открыт для лучших идей!