A JavaScript library that mostly wraps things the browser already does has become close to universal in about two years, and the reason it exists is a fair summary of what the last decade did to web development.

Selecting elements on a page is the most basic operation there is. Doing it directly means writing one thing for one browser and something else for another, checking which you are in, and remembering which of the several available methods is broken where. Attaching a click handler has two entirely different mechanisms depending on vendor. Working out how big something is, or where it sits, produces different answers in different engines for the same page.

None of that is difficult. It is just endless, and it has to be redone in every project by every person, and getting one case wrong produces a bug that appears only for the subset of visitors using the browser you did not test.

So the library is not really a productivity tool. It is a patch over the fact that the platform never agreed with itself, and the size of its success is a direct measurement of how bad that disagreement got.

I wrote last summer about the five years when the dominant browser received no development at all, and this is the bill for that period arriving in a different form. A specification froze in 2001, the rest of the field moved, and the gap between them had to be papered over by somebody. It turned out to be a library.

What deserves credit is the design rather than the necessity. The chosen approach was to make a selection behave like a single object even when it holds forty elements, so operations apply across the set and return the set, and you can keep going. That is a small idea and it removes an enormous amount of looping.

The risk is the ordinary one for anything that becomes an assumption. A generation of developers is learning the library rather than the platform, and will be fluent in an abstraction while being unable to work without it. That is fine while the abstraction is maintained and awkward when it is not.

The measure of success here would be the library becoming unnecessary, because the browsers converged enough that nobody needed a translator. I would not expect that soon.