Integer division: I think the best thing to do is to produce an exact rational, like Clojure that was mentioned, and most Lisps, where it got that from.
['div', {'class': 'foo'},
'some text',
['span', {}, 'yay']]
You also can embed "directives" or "components" in a rather obvious and unambiguous way: ['div', {'class': 'container'},
[MyConstructor, {'arg': foo()}]]
Implementing a robust interpreter for this is a matter of perhaps 50 to 100 lines of plain JavaScript.