I certainly don't hate jQuery. I think it was a very important foundation of JavaScript's history and progress and did an excellent and very necessary job of handling the divergent implementations in different browsers for various features. jQuery offered a uniform API against which people could write their code without having to learn slightly different syntax as expected by each browser.
Having said that, I just have no need for it in my workflow anymore. jQuery comes with a number of different concerns, but we can boil it down to a few categories; DOM selection and manipulation, event handling, functional javascript, animations, and ajax.
I'm a full convert to React.js, and when using React I only ever have to select from the DOM once* to find the element into which we inject the React payload. For this we can use document.getElementById, which is supported across browsers. React also handles pretty much all of the DOM manipulation. It also handles almost all of my event listeners... but if I need to attach something to the document, document.addEventListener is supported across all major browsers. For functional javascript there are better, more targeted libraries, like lodash (lodash.com) or underscore (underscorejs.org). For ajax we use superagent (npmjs.com/package/superagent). And there are a ton of options for animations as well... or you can do much of your animations via css.
So it's not that I hate jQuery, but to me it's a historical artifact. Either I don't need what it offers, or the browsers have now converged on a standard, or there are better, more targeted solutions available via npm (ala browserify or webpack).
* This is mostly true, but in practice there are a few additional cases where you need to reach into the DOM, but React offers an API for this as well.