jQuery still has a place in web development in 2020. I want to walk through some of the common arguments I hear against jQuery and address them one-by-one:
jQuery is a dependency, but I'm not convinced that it's bloated. A lot of developers like to quibble over kilobytes because they're measurable: they see a small page size as a tangible metric for measuring themselves as a developer. Surely it takes a real professional to get a 40ms page load time! However, just because it's measurable doesn't mean it's important.
Iteration speed and maintainability are much more important to the long term success of a project than fast page loads. The poorly documented helper functions a developer wrote to keep jQuery out of their project will bite them as they onboard new developers later. jQuery has over a decade of answers on Stack Overflow and is incredibly well documented.
Don't let the quest for performance derail you from shipping a project: premature optimization is the root of all evil in computer science.
If I need to reach for a library to do this anyway, why not reach for one that has all of the benefits that jQuery provides?
If you're building an app, React makes a lot of sense, but if you're building a content-driven site with moderate interactivity, you're giving up a lot by switching to React.
Most React apps end up being single page applications, meaning you're giving up server-side rendering and a good amount of your potential SEO juice. You've also introduced a build step, which potentially opens you up to the waking nightmare of having to configure Webpack.
React/Vue/Svelte also don't play nice with the wealth of Vanilla JS and jQuery component libraries like Flickity, Isotope, Slick Carousel, and a hundred others. You can make them work, but it's extra effort when you can just have it for free in jQuery.
Reactive frontend libraries are also a major paradigm shift: if you were using Vanilla JS or jQuery on top of HTML to build your app, you'd likely need to rewrite the whole thing.
Most often, I hear this labor-intensive solution pitched because "jQuery is old."
The attitudes many developers show towards jQuery are exclusionary and unhelpful. They drive developers out of the field because they're told they aren't "real developers" because of the tools they use. These attitudes make hobbyists uneasy about participating in our community. And generally, these attitudes are a huge bummer.
You can build amazing experiences in Vanilla JS. You can build amazing experiences in React. And yes, you can build amazing experiences in jQuery. Be kind.