Render.js is JavaScript/jQuery two way data binding and DOM templating engine.
Examples are here.
Syntax looks like this (CoffeScript). For JavaScript go to examples and view source.
$(node).render
template: """
<H3>Timer in ms</H3>
<div>
<button bind="start">Start</button>
<button bind="stop">Stop</button>
</div>
<div bind="time"></div>
"""
start_timer: ->
@_timer = setInterval =>
@node.time.html (new Date()).getTime()
@node.start.disable()
@node.stop.enable()
, 100
once: ->
@start_timer()
bind:
start:->
@start_timer()
stop: (node)->
clearInterval @_timer
@node.start.enable()
@node.stop.disable()