A few weeks ago I started to play around with jQuery and I already banged my head against some small gotchas of the framework. But a comment made by Jake Scott opened my eyes:
You have a bit of CSS, a bit of fluent interfaces (they call it action chaining), you've got also a little feeling of Linq, you have a tiny library (only 15Kb minified and packed) that is very easy to extend with extension methods, and a huge ecosystem of already available plugins. And of course you have Ajax and animation effects.
One of my favorite thing is the way jQuery abstracts the onLoad event of the page:
alert("I'm loaded, but the images not yet");
The cool thing is that the function defined runs when the DOM tree has been loaded, not, as with the standard onLoad event, when all the element of the page (including all the images) have been loaded. This avoids that a image that takes too long delays the execution of start-up scripts as sometimes happens now when the Lightbox effect doesn't work because some external images or scripts are slow to load.
OK, there are some gotchas, but which framework doesn't have some?
I'm starting to use it for the UI of the new features in Subtext 2.0 and I might add some goodness to my blog. Let's see if it turns in real love.