Also take a look at Knockout.js (http://knockoutjs.com/)
Its a lightweight MVVC framework which brings WPF like data binding to HTML.
See some live examples at : http://knockoutjs.com/examples/
and I ported backbone.js todo example to knockout over here : https://github.com/ashish01/knockoutjs-todos