The jQuery might be straight-forward in the sense that you know what `$cardForm.find('input[type=submit]').prop("disabled", false)` does, but the hard part is reasoning about the possible states of your UI when your only source of truth is a bunch of procedural mutations.
Not only does it incrementally change the DOM, but it also queries state from it. We've been trying to move away from that for some time now. I remember that's how jashkenas pitched Backbone 7 years ago.
Still, introducing a framework and a build system and everything that entails for the sake of 300ish lines of code? You could rewrite that in plain js avoiding the pitfalls you mention in less time I would have thought. As others have mentioned they’d be better off employing a front end specialist... whether they’d recognise a good one is a moot point.
Not only does it incrementally change the DOM, but it also queries state from it. We've been trying to move away from that for some time now. I remember that's how jashkenas pitched Backbone 7 years ago.