Book Review – Learning jQuery

October 8, 2007 | Published in: Reviews | Tags: , , , 2

Learning jQueryWant to enhance your JavaScript code, making it more streamlined and efficient, yet easier to code? JQuery could possibly be the answer.

“Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques” is a great way to get started with the jQuery framework.

The book contains thorough tutorials and code samples on how to get things done in jQuery, and solve real-world problems, such as manipulating tabular data, grabbing information with AJAX, and implementing client side validation.

Book Information

Full Title:
Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques
Author(s):
Jonathan Chaffer, Karl Swedberg
Pages:
380
Published:
July 2007
Publisher:
Packt Publishing
ISBN:
978-1-847192-50-9

My Review

jQuery is an extensible JavaScript library which provides a layer of functions to simplify and ease JavaScript development. Getting started with jQuery need not be daunting, “Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques”, by Jonathan Chaffer and Karl Swedberg will help you get started, and show you key techniques to make your code efficient and feature rich.


The book is aimed at jQuery beginners, all it takes is a basic knowledge of HTML and CSS, and an understanding of the syntax of JavaScript; no jQuery experience (or any other framework for that matter) is needed or assumed. The book builds up to more advanced topics, but is still mainly aimed at beginners. However, saying that, I consider myself “intermediate” and I learnt a lot of new techniques from this book, and found some of the examples particularly useful.

In general, chapters are well documented and are also backed up by real world examples so you can see the various functions in action. For example, the Chapter entitled “Events – How to pull the trigger” starts off with an overview of jQuery’s event handing functionality, then shows a real world example in the form of a style switcher. Chapters are finalised with a useful summary so you can check what you have learnt within the sections.

The book can be read from start to finish, as it is interesting, keeps you engaged, and gives information in a logical order. It contains many useful tips and functions, a lot of which I never knew about until reading the book.

The book begins with an introduction explaining why jQuery is useful and can save time, and what it can do for you as a developer. It shows a small example to demonstrate what jQuery can do, without scaring of newbie readers. It then continues with chapters outlining the core functionality of jQuery, demonstrating this with more easy to understand examples. If you’ve used jQuery before, you might not find the first couple of chapters particularly engaging, but it gets a lot better later on (and if you read the first ones anyway like me, you might just pick up a few little techniques you may have missed beforehand!).

Chapter four contains a detailed explanation of jQuery effects and animations, it also demonstrates running multiple effects at the same time, and effect ‘chaining’. Both methods of animation are shown in examples, and well documented.

Chapter five explains how to manipulate the DOM (document object model), and covers changing attributes, adding and modifying elements, and other useful functions. It also contains a very useful example for adding footnotes to your text easily with jQuery.

Chapter six is a fairly detailed chapter on AJAX, and demonstrates to the reader how to get, and send, content dynamically to and from the web server.

My favourite chapter, chapter seven, covers table manipulation. Sorting, paging, zebra striping, highlighting, it’s all covered here, and the examples are really easy to follow and implement. I particularly enjoyed this chapter because I realised some handy shortcuts I was not aware of that will save me time when developing my own websites.


Other chapters include examples covering:

  • Selecting DOM objects
  • Events and user interaction
  • progressive enhancement of forms (such as styling and client side validation)
  • making your own headline animator, shuffling and scrolling images
  • Utilising plugins

The book closes with a few appendices covering available online resources, development tools, and ‘closures’ (including information on a few memory leak bugs associated with Internet explorer).

The language used in the book is clear, concise and easy to understand. Tips and important points are highlighted and contain useful tidbits of information. I would have preferred more of these little tips to give the reader a broader understanding of the discussed topics, but they are currently adequate.

Code samples are well formatted and broken down, with added chunks of code emboldened. Live examples are also provided on the accomplying website, which is useful to get a look of what the code samples do. The examples themselves are of a high quality and useful in many real-world situations. Most of the examples are also shown along with screenshots to show you what the code is doing.

The screenshots themselves are a good quality but, being black and white, some are a little hard to understand what is being shown, and a few are slightly blurry. However, the examples themselves are available online so this is not such as big deal.

My only gripes with the book itself are that the headings could be better spaced out to improve legibility, and more importantly the book could have done with a better, bigger, index at the back; it’s hard to find certain functions using the current index.

In conclusion, “Learning jQuery: Better Interaction Design and Web Development with Simple JavaScript Techniques” is a must have for any developer/designer looking to delve into JavaScript frameworks, and is a welcome addition to my reference book shelf. It beats the official jQuery manual hands down in my opinion, simply because everything is explained in much more detail.

Verdict: 8/10 – Very good, a must have for the jQuery beginner

Found this post useful? Why not buy me a coffee!

Related Entries

2 Responses to “Book Review – Learning jQuery”

RSS feed for comments on this post.

  1. Deborah says:

    While I enjoyed the beginning of Learning jQuery, I found the book difficult, if not impossible, to follow after chapter 6.

    If you have not had any JavaScript, or any programming experience, it’s likely you will get lost in the code. A quick run through of regular expressions, no explanation of NaN or bubble sorting, and lack of errata on the site will leave the XHTML/CSS coder confused and wondering what happened to the easy learning experiences in the first chapters.

    The accompanying website has not been updated with references to deprecated code, which causes many of the book examples to no longer work.

    The initial chapters of the book are easy to follow, and the code examples are very helpful, when they work.

    Comment made on January 1, 2008 at 5:22 pm

  2. smith says:

    Learning jQuery is great. but I don’t like java script

    Comment made on December 20, 2008 at 3:01 am

The comments are closed.

About this site

Blue Anvil is the online web design journal & portfolio of , a web designer from Norfolk, England. Read More »
ThemeSlice
  • Featured work - More

    • Beefjack
    • Integrity
    • theotaku.com
  • Latest Tweet - More

    • @AzN102 If you mean the social link, you need to create a page called 'social' and give it the template called 'home'.
  • Out of the blue - More

    • MiniCard 1.1.7 Update

      I have just uploaded 1.1.7 of MiniCard here and to the WordPress theme directory. This updates includes:

      • New networks; xing, gowalla, yelp, foursquare, mobileme, google buzz
      • A way to change link text and define multiple links of the same network
      • A way to define your own custom links + icons
      • Improved admin panel

      Hope you like it, and don’t forget you can show your support by purchasing the premium pack from here.

    • Switched: From Shared to VPS

      It’s been about two weeks now since I made the transition from a shared reseller hosting account to a VPS (Virtual Private Server) account – impressions so far, excellent performance but fiddly to configure.

      The reason I wanted to change from shared hosting was the fact the server was always being hacked (even though ALL my scripts were secure), there was frequent downtime, support blamed me for problems every time, and it was slow as hell.

      Those used to a shared hosting environment would probably not know where to start when faced with configuring a VPS. Luckily, a lot of it was pre-configured when I received my account – certainly some of the major security holes were patched. I was not satisfied with those however. As a victim of hacking in the past (previous host swears it was not there fault, something I don’t believe) I took extra care to secure it as a much I could – configuring brute force detection, the firewall, installing mod security (excellent rules for that here: http://www.atomicorp.com/wiki/index.php/Atomic_ModSecurity_Rules) and going though multiple guides (like this one: http://www.webhostingtalk.com/showthread.php?t=468168) with a fine-tooth comb.

      The result? My pages are loading at least 6 times faster, I have had no down time (or at least have not noticed any), and I feel in control and happy. No longer am I at the mercy of shared hosts :)

      If your interested, I chose ServInt as my provider as they offered a great deal, as well as being a managed service (so I’m not on my own if I screw things up). I was tempted by the bells and whistles of Media Temple, but felt the ServInt service was better value.

    • Download Monitor 3.2.2 Maintenance Release

      Download Monitor has received some more love and has been updated. Here’s the change log from the new version:

      • Small bugfix in uploader.php – cat ID
      • Changed stats graph calculation – thanks lggemini
      • Changes to headers in download.php to avoid caching
      • File Browser fixes – $root was clashing with something….
      • exclude_cat works in all sections of download_page now
      • Removed hardcoding of /uploads/
      • Added action to download.php – should be able to use it to stop a download if you want – maybe limiting downloads per day or something? Whatever you want…
      • Made it so if you post new file on ‘edit’ screen, the post date is updated.
      • Fixed the ‘blank meta’ section which blanks out custom field values when nothing is set.
      • Moved ‘allow_url_fopen’ check.
      • Someone said downloads don’t work with spaces in the name. They do! Wasting my time sonny…
      • All work and no play make jolley a dull boy
      • Had to rename capabilities so they work. Apologies if you have to set this up again! Cheers to Mark Dingemanse.
      • {category_ID} custom format tag added. Useful if you want to send someone to its category on the DL page I guess. Also added {category_other} so when no category is set “other” is shown – this is because the download page can show an ‘other’ section if you want it to.
      • You can now manually edit the post date on the edit download screen.

      If you have edited capabilities for download monitor user permissions, you’ll have to again sorry! This is because I named them too long. Also, you should check your forced downloads still work because there was a logic error meaning they may not have been forced after-all…

      Enjoy.

    • Mahousive update to Download Monitor (3.2)

      Today I completed the update for the Wordpress Download Monitor Plugin – many tweaks, fixes, and features added. There were no changes to the database structure so people upgrading should be fine. Here is the list from the change log:

      • {user} tag added for custom formats
      • ‘autop’ option fix
      • Download page buttons applied with CSS so they are easier to customise/translate.
      • Fix for pagination bug after editing a download
      • Category output fix on edit downloads screen
      • Category urls on download page use ID rather than name to prevent errors when cats have the same names.
      • exclude_cat added to download_page shortcode
      • Localised ‘hits’ ‘date’ ‘title’ on download page
      • Option to disable the download logging
      • Read file ‘chunked’ some people found large files were corrupted so this should help (fingers crossed)
      • Added show_tags option to download page – displays x amount of tags on the download page.
      • File Browser root setting and download.php logic/mime types modified thanks to Jim Isaacs (jidd.jimisaacs.com)
      • Interface Improvements
      • Bulk edit categories, custom fields, tags, member only downloads
      • Added roles for download monitor admin – should be able to use with a role manager plugin if you want anyone other than admin to access the admin section e.g. http://wordpress.org/extend/plugins/capsman/
      • Change redirect after add
      • Edit Cat names/parents
      • Dedicated tags and thumbnails fields (they still use meta table though)

      And yes, those category link bugs are fixed at long last, and you can edit category names finally. Phew!