The \"classic\" approach to web development has been for some time a thin client and a thick server: the server generates HTML and spits it out for the browser to render only. B
Tools such as Google GWT do what you describe - render much of the client side in javascript. Some of the coarse-grained layout still gets down using HTML, but the interesting bits are done dynamically, client-side.
But GWT uses generated javascript, not hand-written. Doing this by hand is painful.