I was quite confident from the beginning that I’d use jQuery. Even though I never used it before, it seemed like everyone else was, so I though it must be pretty good.
Before jQuery I used ExtJS a little. ExtJS has a lot of cool widgets, but I never really understood how its widgets worked inside. I had some experience using Ext’s Element class to modify the DOM directly - I liked the low-levelness of it, but it was a little awkward to use. The thought of coding my own widgets (which I had to do for this new project) using ExtJS was scary.
And so I tried it out … and was quickly amazed with how fast I was making progress on my project. Within a few days of using jQuery, I had the basics of the most important widget I had to code running. Using jQuery is a joy and whatever you imagine you can code it jQuery pretty quickly with only a few lines of code … but maybe too quickly.
The problem with using jQuery by itself is that because it is so easy to use, it can make you lazy in regards to structuring your code well and trying to make your code re-usable. Because everything feels like it’s only a few lines of code away to reality, you tend to go on and write it even though you already wrote a similar block of code just a few hundred lines above. At least this is what happened to me.
Because of this, even though I got my app working in only a few days it was (almost) all spaghetti code with little blocks of copy n pasted code all over the place and it was hard to find where to change things.
In any case, I have to say that jQuery is a very elegantly designed library that fulfills its purpose (DOM Manipulation) extremely well.
Improve your jQuery - 25 excellent tips
5 Tips for Better jQuery Code