Excellent book!
Learning jQuery is an excellent book, hands down. I enjoyed it immensely and will surely use it frequently to look up things in the future. I reserver 5 star ratings for only few, select books, and Learning jQuery earned every single one of them.
There are several reasons I can praise this book so highly. The code examples, for example, are elegant and concise. Also, the authors make sure to embed the examples they show into real, practical contexts. You're walked through not only typical usages of jQuery, but also some many best practices of web development. If you read this book, you will walk away with a solid understanding of the important concepts of progressive enhancement and graceful degradation, and if you do the exercises you'll learn to automatically think of these aspects when designing your next real-life project.
Another reason is that the book is well-written. Although it goes pretty deep into some areas of jQuery, it's easy to understand and supported by solid examples.
And lastly, it's based on a great technology. jQuery is not only an extremely useful library, it's extremely extensive and extensible. Whereas in the first half of the book you learn to work with it, in the second half you learn much more about how to extend it quickly and easily, while still adhering to the API principles that make the library so intuitive and flexible in the first place. jQuery takes advantages of many of the aspects of the JavaScript that make JavaScript stand out among other languages - live prototypes, the ability to use strings as object properties, etc.
While most of the book shows you how to use jQuery to add useful behaviors to your website, relying primarily on jQuery alone as a way of controlling what's going on in the DOM, there are also some very helpful examples on writing JavaScript that not only controls, but also comprehends the DOM elements it interacts with. Such tricks save a lot of maintenance and extensibility woes over the course of projects and I was happy to see them here.
The icing on the cake came in the form of in-depth discourse about AJAX - asynchronously communicating with a server from your website, as well as some very basic examples of how to set up the server-side functionality required to react to such communication intelligently. The book also contains some terse material that is enough to get you started using QUnit, a unit testing framework for JavaScript, so that you can deploy and develop your code with the surety that it works the way you want it to.
All of this content is bound together by the overarching goal of concise, yet understandable code that is easy to maintain and improve. Best practices of development in general and web development in particular are impressed upon the reader without giving being preachy about it. The book has so much material that it took a long time to get through, but it was never tedious and I can recommend it to any intermediate JavaScript user who's wanting to find out how they can best utilize jQuery to get started making beautiful websites.