upvote
> A thin wrapper can get you there easily if you care enough

But that's more and more friction. A wrapper here, a wrapper there, and if here, a try/catch there. At one point you are reinventing significant chunks of jQuery

reply
jQuery's scope is broad¹. It has at least:

- a plugin system

- its custom selector parser (because it had it before querySelector and is not totally compatible with it)

- its abstraction to iron out browser differences (old IE vs standard, notably) that's not relevant anymore

- its own custom (DOM) event management

- its implementation of methods that are now standard (ajax & trim for instance)

I recognize that the DOM API could be better, and comes with friction. Back then, ironing out the browser differences and its selector feature were killer features of jQuery. Today, I do not think the quirks of the DOM API warrant importing a library like jQuery.

¹ but indeed, very lightweight compared to modern frameworks like Angular, React and Vue, with all the ecosystem which comes with each of them (react-router, redux, etc).

reply