I need to preface my answer with some open honesty. I love jQuery. It makes my life massively easier, and makes JavaScript code more declarative, which is the way I believe things should work.
###jQuery does many things…
jQuery does many things…
Yes you can add plugins
Yes you can extend selectors
Yes it simplifies animation
###but jQuery doesn't do everything
but jQuery doesn't do everything
Have you ever tried working in multiple window contexts with jQuery? jQuery sucks at dealing with different window contexts because it retains the original window and document context from the window in which it was called.
I've written some code here and there to make popouts*, and jQuery can simply get in the way of what I'm trying to accomplish. Adding a new reference to jQuery in the child window can often make things worse by making it more difficult to tell which jQuery context is being used.
* think of Gmail's popout for composing an email in a new window, not spammy advertising
###Use it when it makes code simpler
Use it when it makes code simpler
The time to use jQuery is when you can make your code simpler, shorter, more readable, and faster.
The time to not use jQuery is when it wont make your code simpler, shorter, more readable, or faster. If you need to fine-tune load timings, you may not want to use jQuery because of the event overhead.