width () e height () para navegadores modernos sem jQuery

Estou tentando implementar um simples efeito fold / unfld para divs elásticos, ou seja, quando as dimensões reais de um elemento não são definidas por meio do CSS e, portanto, não são trivialmente determináveis. Então, eu preciso de equivalentes da largura () e altura () do jQuery para elementos arbitrários; os métodos devem retornar algo que seria atribuível a * .style. largura / altura para obter o efeito de dobra / desdobramento. Os métodos também podem ser configuradores, embora não necessariamente como triviais de qualquer maneira (ou não é?)

Compatibilidade: IE8 + e o grupo adequado de 3: Firefox, Chrome, Safari. TÃO. não tem uma resposta para isso além de "use jQuery", que não quero fazer no momento. O problema é que não preciso oferecer suporte a navegadores arcaicos como o IE6 / 7 e o Netscape. Quero que meu código seja apenas JavaScript simples e inovador para navegadores modernos. Largar o IE8 para o IE9 também é uma opção.

Eu acho que a resposta pode ser útil para muitos desenvolvedores da web. Obrigado!

Edit: Eu entendo, é claro, analisar o jQuery (e eliminar peculiaridades arcaicas) é uma boa opção, mas pensei que alguém já tivesse feito isso e poderia compartilhar conosco.

questionAnswers(4)

yourAnswerToTheQuestion