Если вы установили видимость: скрытый, элемент по-прежнему занимает место, поэтому установите также положение: абсолютное, чтобы вывести его из потока документов. При необходимости вы можете расположить элемент за пределами экрана, чтобы он не блокировал события и тому подобное.
$("#el").css({
visibility: "hidden",
position: "absolute",
left: "-9999px"
});
Оттуда вы все еще можете прочитать ширину элемента. Например:
$("#el").width();
Надеюсь, это поможет!