Having read the jQuery Reference Guide prior to this book, it is clear that Learning jQuery does not cover the entire breath of the jQuery library. It does cover a good deal of the selectors, DOM traversal and modification methods, AJAX functionality, event binding, and plug-in architecture, but to be sure, there are things that are either glossed over or left out. This should, however, not be viewed in a negative light. Instead of being incomplete, Learning jQuery takes the most important and powerful aspects of jQuery and covers them in-depth.
This book is all about the in-depth, iterative example! After every chapter, I found myself reflecting on how thorough and well done the examples were. Each one starts out with a simple piece of code (probably the way you or I would accomplish some task). Then, it adds something. Then, it factors something out. Then, it encapsulates something. Then, it adds some more functionality. At each step, I kept thinking, "Brilliant! I can't believe I never thought of doing it that way." At the end, not only do you understand the jQuery concepts in a way that the reference guide could never communicate, you've completely changed the way you want to write your own code.
While there is too much great content to cover on a piece by piece basis, there were many aspects that I thought were very exciting to learn about. Of particular interest is the use of CSS class values as a means for hooking into the DOM. Traditionally, I have only used CSS to format elements within the page. Many of the examples in this book use arbitrary CSS classes, not for formatting, but for targeting parts of the DOM using jQuery. For example, a column header might be given the class, "sort-asc", not because it has any formatting associated with it, but rather because it allows the sort direction of the column to be defined in a way that can be easily accessed and located via jQuery selectors. This concept really blew my mind! I had never thought about using classes for anything but formatting, but I can see how powerful this technique can be.
One of the other things that I wanted to point out is that this book describes writing jQuery code that takes place over time. That is, it explains how to write jQuery code that does not fire immediately, but rather executes several times over the course of time. I have hardly seen any documentation or examples of jQuery code that uses the setTimeout() or setIterval() methods, but this book has an example that uses these methods and explains their application quite well.
Overall, this is a great book, and a must-read for anyone who is serious about learning how to write powerful and concise jQuery code. While the reference guide is good, it cannot hold a candle to this book in terms of teaching; in my experience, it is only through great, in-depth and iterative examples that learning can take place and Learning jQuery provides these type of examples almost in excess.
Thanks a lot. I will look into that.
Ben - I trust your recommendations and ordered a copy today. I'll let you know what I think. I've been heavily into Flex 2 development but am relooking at ajax and DTHML widgets for enhancement to some existing web pages.
I think you are gonna be happy with it. Some of the examples are really long (the Table chapter goes on forever!), but take your time getting through it; it will pay off.
Thanks for all your incredibly effective demos Ben ...
I'll have to check that out - I haven't heard of it.