Author: Jack Franklin
Publisher: Apress, 2013
Reviewer: Ian Elliot
The book really starts at Chapter 2 with a quick introduction to what jQuery is. It explains the DOM and provides a first example of using a selector to return a jQuery object. From here the book takes a fairly obvious and traditional route through jQuery's facilities - and this isn't a criticism. Chapter 3 is about traversing the DOM, although it also deals with selectors. Chapter 4 is about manipulating the DOM and it does a good job of explaining the different ways you can achieve the same result.
The only real problem with the book to this point is that it doesn't really emphasize that the jQuery results are a wrapper around a set of DOM objects - something that often confuses the beginner. It does mention it, but for me it doesn't push the idea hard enough. It also doesn't really explain the idea that jQuery uses CSS selectors for its basic selections but extends what is available for more complex operations.
Chapters 5 and 6 move us off the topic of working with the DOM and introduces jQuery's event wrapper. Here we learn about using common events, binding and unbinding events and, in Chapter 6, more advanced ideas such as event propagation and custom events. The chapters also introduce the largest example so far - an Accordion control
Chapter 7 is about animation an has more about the accordion and an example of an image slider. Chapter 8 deals with Ajax which can be an advanced topic but in this case it is kept simple. This will get you started but there is a lot more to learn about jQuery and Ajax.
Chapters 9 and 10 explain how to write a plug-in. This is a topic that could have been omitted and the space given over to topics that are more relevant for the beginner. However, if you are ready to extend jQuery, this isn't a bad introduction. Finally we have a complete example of building an image slider custom control.
There are lots of minor things that are wrong with this book, but in the main they are minor. It doesn't mention the difference between jQuery 1 and 2 in its support for different browsers. It doesn't really discuss the idea that jQuery attempts to even out the differences between browsers and that this is one of its big advantages. In fact, its use of HTML5 without much comment might even suggest to the reader that jQuery was only for modern browsers - which is far from true.
It is also important to note that it doesn't cover the use of jQuery UI at all, even though this is a part of jQuery that many beginners see as the biggest part of jQuery. This is an unfair criticism as the book is titled "Beginning jQuery" and not "Beginning jQuery with UI" or similar but the chapters on creating plug-ins could have been replaced by a quick introduction to jQuery UI to produce a book more useful to the beginner.
This book isn't a cookbook and it certainly doesn't show you any clever or advanced methods. If you are looking for big practical examples then you also won't find them in this book. Most of the examples are small and get a point across. It also doesn't deal with anything advanced - nothing on promises or the jQuery data storage - and it doesn't even cover every type of selector that jQuery supports.
If you are looking for a fairly basic and reasonably well organized introduction to jQuery, this is a good choice, but don't expect it to take you all the way.