jQuery in Action by Bear Bibeault and Yehuda Katz is a fine introduction into the wonderful jQuery. jQuery is a free javascript library that significantly eases the burden of manipulating the Document Object Model found in modern web browsers. The library has a distinctly functional feel to it, much like LISP. After reading this book, I’m humbled by the incredible job the architects of jQuery did in making such a clean and incredibly useful API. jQuery also bares the marks of Perl in its .map and .grep functions, and so warms the cockles of my heart.

Bibeault and Katz gently introduce the reader to this powerful library without overloading him with too much theory up front. This is not to say that the book is light on details. It is not. However, the less immediately useful details are pushed to the back of book. I found the Appendix on Javascript’s damnabled Object system to be the most enlightening of all. While I understood the classless object system of Javascript before I read this, I did not really get the scoping rules (and I continue to be appalled at the insanity of it).

The order of the material is very reasonable. It begins with a bit of the philosophy of Unobtrusive Javascript, and then explains how to find DOM elements with jQuery selectors, how to manipulate those wrapped sets, how to install javascript events and how some of the built-in animation effects and utility functions work. All this is followed by a chapter on extending jQuery with plugins, a giant 50 page chapter on Ajax and a survey of useful plugins that are available on the jQuery site.

The highlights of this book include the discussion of Unobtrusive Javascript. This is literally a new concept to me and one that is much welcomed. The many references to the W3C HTML and DOM specs took me back a bit. During the ugly years of the Browser Wars, these specs were little more than wishful thinking. Yet now, most broswers (not IE) try to adhere to these documents. That’s quite a sea change! The madness of event handling in DOM levels 0 through 2 is Lovecraftian (and perhaps explains a bit more of the problem my tic-tac-toe client has with IE).

The book is filled with practical examples of jQuery at work. The authors even have created little online tools to demostrate these concepts. I didn’t find these to be all that useful, but I think I’m not the target audience. I’d rather come up with my own projects and apply these ideas to them.

I recommend this book to novices and pros alike who wish to get up to speed quickly on the use and philosohpy of jQuery.