The first seems to add new DOM nodes with text on every click. The second one doesn't. So they don't seem to be equivalent.
for x in lines:
tdiv:
text x
Whenever the DOM gets rerendered, it iterates over the the lines (or the "model" in general), and creates DOM elements from it. At least it looks very similar to React and Angular code, and they do exactly this.