One of the main projects that I have been working on is the conversion of Adobe Flex/Flash applications into a standards based approach with HTML/CSS/Javascript/Ajax. I've been using jQuery heavily along with jQuery UI.
To date, I've converted a dozen or so legacy Flash applications into a Javascript/Ajax single page application. Every application that I convert teaches me something new about jQuery, though I'm certainly no expert. I feel competent/productive in the library now and have learned to think more functionally.
For me, there's a predictable process or evolution for learning a new learning a new language, framework, or technology. The first step is to first figure out how to get it to do something. This could be a few hours or a few days. The second step is to grow and expand knowledge to the point where you are able to productively use the language to build real applications or tools. This could be weeks or months. The final step comes when either you realize that the way you use the language is limited and that there are easier/faster/better ways of accomplishing the same thing, or that you are limited by your current understanding and start looking for better solutions, or both.
I'm somewhere between step 2 and 3 with single page applications built with JavaScript and Ajax. I can certainly get a complex application to work, perform well, etc. but I always have the feeling that there are better ways to accomplish what I'm trying to do. Enter libraries and frameworks, namely Knockout.js and Backbone.js. It's time to move to step 3 and to investigate these tools. Stay tuned...