das erscheint mir ein bisschen mit Kanonen auf Spatzen geschossen. Einen input-Button erzeugen (oder ein anderes geeigneteres Element im DOM) und dessem onclick-Event eine Funktion zuzuweisen ist simples JavaScript, dafür sind Bibliotheken ziemlich überflüssig
Offenbar ist Gregors Code Teil einer größeren Formularvalidierung, wo ein längerer HTML-String erzeugt wird, der dann ausgegeben wird. Natürlich kann man das alles mit fünfhundert Zeilen Low-Level createElement, createTextNode, appendChild sowie addEvent/addEventListener usw. lösen. Der entstehende Code wäre nicht schöner als der Escaping-Wahnsinn beim Erzeugen von HTML-Strings mit JavaScript-Code drin, sondern genauso schlecht wartbar.
Die eine oder andere Abstraktion braucht man also auf jeden Fall. Eine gängige Bibliothek zu verwenden, die einem DOM-Operationen und Event-Handling, ist da auf keinen Fall überflüssig, sondern würde sowohl die Programmierung vereinfachen als auch den Code lesbarer und wartbarer machen.
Ob man anschließend auch Model- und View- bzw. Template-Logik trennt, was bei Formularvalidierung m.E. sicher sinnvoll ist, kann man überlegen. Bibliotheken braucht man dafür nicht unbedingt, das ist ja erst einmal ein Pattern, eine Konvention.
Mathias