CDN$ 40.08
  • List Price: CDN$ 45.37
  • You Save: CDN$ 5.29 (12%)
Only 8 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
DOM Scripting: Web Design... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

DOM Scripting: Web Design with JavaScript and the Document Object Model Paperback – Dec 29 2010

See all 2 formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 40.08
CDN$ 40.08 CDN$ 40.00

Harry Potter and the Cursed Child
click to open popover

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Product Details

  • Paperback: 336 pages
  • Publisher: Apress; 2nd ed. 2010 edition (Dec 29 2010)
  • Language: English
  • ISBN-10: 1430233893
  • ISBN-13: 978-1430233893
  • Product Dimensions: 19.3 x 1.9 x 24.2 cm
  • Shipping Weight: 748 g
  • Average Customer Review: Be the first to review this item
  • Amazon Bestsellers Rank: #121,995 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

About the Author

Jeremy Keith is a web developer living and working in Brighton, England. Working with the web consultancy firm Clearleft (, he enjoys building accessible, elegant websites using the troika of web standards: XHTML, CSS, and the DOM. His online home is Jeremy is also a member of the, where he serves as joint leader of the DOM Scripting Task Force. When he's not building websites, Jeremy plays bouzouki in the band Salter Cane ( He is also the creator and curator of one of the web's largest online communities dedicated to Irish traditional music,

What Other Items Do Customers Buy After Viewing This Item?

Customer Reviews

There are no customer reviews yet on
5 star
4 star
3 star
2 star
1 star

Most Helpful Customer Reviews on (beta) HASH(0xa6f13c60) out of 5 stars 97 reviews
110 of 112 people found the following review helpful
HASH(0xa6bf3b04) out of 5 stars Exceptionally Clear Handling of a Subject in Transition Oct. 6 2005
By Brett Merkey - Published on
Format: Paperback
This book is directed toward scripters at the beginning and intermediate level. This is also a very good book for the veteran scripter who wants to re-tool as DOM-based techniques take hold.

I think Jeremy Keith takes the best road when he launches directly into DOM methods and objects, only mentioning the older ways for completeness. Most often, JavaScript books do the opposite -- mentioning DOM scripting only as an advanced art. But why learn the older ways when you must unlearn them later?

The author focuses on teaching correct methods and approaches, often taking the long way around to make it easier to see the larger picture. This requires a lot of forethought and organization on the part of an author and here the material excels. I don't think anyone will trip up following this guide through the Web script jungle.

The author also avoids the unbearable humor and cutesy language encountered so often in tech books. Thank you Mr. Keith! This is good, clear writing to go with good, clean scripting.

Quibbles: I think the author should have been more concerned with compatibility issues, esp. with IE6, the decrepit but still dominant browser. For instance, on pp 200-01, he recommends using the setAttribute() method to set a class but does not mention that IE improperly demands "className" as a parameter. His snippet would fail in IE. The chapter on CSS scripting was good but barely scratched the surface, not mentioning a bunch of cool scriptable objects.

Overall, this book is a worthy tool that should be welcomed by the target audience.
50 of 50 people found the following review helpful
HASH(0xa6bf9ed0) out of 5 stars Finally, a book to teach us JavaScript DOM Jan. 28 2006
By Frank Stepanski - Published on
Format: Paperback Verified Purchase
There's been a lull in the past couple years with JavaScript books. Even though there are many sites that use DHTML and DOM scripting, there never was any books that really explain how to do these very useful and cool effects. Plenty of websites to download and copy code, but nothing that really explains how to do it. UNTIL NOW!!!

The moment I start reading the first chapter, I knew I would finally learn what DOM scripting really meant. I've read through many basic JavaScript books from different publishers but all of them just briefly described how the DOM worked in one brief chapter. The whole DOM Scripting book talks about it.

The first 2 chapters are a brief refresher course of the JavaScript basics, and then the 3rd chapter starts in with the DOM. After a thorough explanation of what it is and how it can be used, the next chapters go through various projects in reviewing how it can be used in real life web design.

There are eight chapters that explain and show you how DOM scripting can be used. The final chapter talks about the future of scripting and gives examples of AJAX--a great bonus!

I highly recommend this book to anybody who wants to take their JavaScript code to the next level. It's also a great book to help would-be AJAX programmers as well. Since you have to have a very good understanding of DOM to create AJAX applications.
38 of 40 people found the following review helpful
HASH(0xa6bfc3cc) out of 5 stars The Perfect Javascript/DOM book for beginners March 24 2006
By Mashhoor Al Dubayan - Published on
Format: Paperback Verified Purchase
When a Javascript/DOM book:

1) ..starts by introducing Javascript and it's syntax instead of jumping into DOM immediately.

2) ..Explains every single bit of code in a simple language.

3) ..uses simple and easy-to-follow code.

4) ..Starts a chapter with a very simple program and build on it as you read.

5) ..lets you put up your first useful/practical Javascript script in a few hours.

6) ..encourages you to 'understand' the code instead of 'memorizing' it

7) written by Jeremy Keith

..Then you know it's worth every single cent you spend on it. I have nothing to say here except that if you're someone who knows nothing about Javascript/DOM and is willing to learn it, then you really shouldn't miss this book. But If you're an intermediate or advanced Javascript/DOM coder, then buying this book is not a good idea. It was solely made for begginers.
23 of 24 people found the following review helpful
HASH(0xa6bf3b4c) out of 5 stars Separating behavior from content: great design (code can improve) Feb. 5 2006
By raul parolari - Published on
Format: Paperback
The intent of the author is to show how JavaScript, with the DOM Api, can indeed be used in an intelligent way, debunking the myth (somehow justified by the horrific javascript code laying around) that "scripting languages" are somehow inherently inferior to compiled ones. Incidentally, this effort is similar to what Damian Conway has recently done, in a larger scale, for Perl ("Perl Best Practices").

The book is at its best when it describes how to methodically partition the design of a web page in 3 areas: the content-markup (xhtml), the presentation (css), the behavior (JavaScript, DOM). Jeremy Keith achieves this not by abruptly inflicting the reader with massive dosis of W3C standards, but rather "by evolution", taking one example (an "image gallery") coded in the traditional way, and continuously improving and refining it. Incidentally, the web pages that emerge are of a stunning beauty.

The book has its weak moments; I mention only two of them, one on the theory, the other on programming:

1) an apparent inconsistency on the properties of childNode[] array. After having repeatedly stated that this array contains ALL the children of an element node ("including the attribute nodes", see p. 67), it suddenly states (p. 70, p. 154, etc) that the text node of a paragraph node is the first and ONLY node of childNodes[]. Some tests (using elements that had attributes) confirmed that this last statement was correct. So, apparently, the childNodes[] array of an element does NOT report its attribute nodes, contradicting the first assertion.

2) the function "showPicture()", the central routine of the example that runs across all the book. All is fine, until Jeremy suddenly decides to change (ch 6, p. 106) its return to "true" when the function fails, and "false" when it succeeds. This is done in order to easily propagate the indication to the browser whether to follow the link or not, but... let me put it this way: would you write routine "start_shuttle()" to return "true" when the requested action fails, just because it makes life "easier" (?) for some intermediate caller routine? let's hope not (for the astronauts' sake).
Furthermore, as show Picture() had multiple returns inside, each one of them had to be tweaked in the "tricky" way; contrast this potential maintenance nightmare with instead returning the right value and simply switching it in the caller. The code (a la D. Conway "self-documented" way) could be:
"var followLink = ! showPicture(); return followLink".
A comment can be added to remove any residual doubt for people maintaing the code in future: "if showPic() succeds, tell browser not to follow the link, and viceversa".

I want to underline that, while the code is sometimes of poor quality, the design of the software of the examples is excellent, way above anything else that one sees for JavaScript. Separation of "behavior" from "content" was not an empty slogan; by chapter 7, the goal is reached. Not only all the JavaScript code is out of the html page, but even the elements that were not strictly "content" are out (they are now dynamically created).
And the page works without a glitch ("gracefully degraded", as Jeremy says) even if JavaScript is disabled (or if it is a robot reading it, etc). Fantastic.

I therefore reccomend this book to anyone interested to a methodic introduction to client-side programming with JavaScript and the DOM. A good Css book (like the one from Lie & Bos, to reach exactly the same objective on the presentation side) can be a great companion, on this trip to greater things (Ayax & co).
16 of 16 people found the following review helpful
HASH(0xa6bfc738) out of 5 stars DOM for Designers Dec 2 2005
By Nathan Smith - Published on
Format: Paperback
Over Thanksgiving break, I was able to set aside some time to get reading done that I have been putting off for awhile. I have just finished reading the tome of knowledge entitled DOM Scripting, and have to say that I was very pleased with this book. It is written by Jeremy Keith, who is one of, if not the leading expert in JavaScript and the Document Object Model. The forward to the book is done by Dave Shea, curator of the popular site CSS Zen Garden.

In the case of highly technical subjects, documentation is usually quite widespread. Most programming textbooks will tell you what you need to know, in some way or another. The thing I like about this one is the way in which Jeremy presents the information. He uses everyday, practical examples of JavaScript, such as making an interactive photo gallery.

I also like how he does not tout JavaScript as the end-all solution for web design. In several cases, he will show how to do something with JavaScript, and then gives a more simple example of how it would work with CSS. He makes mention of how simple image roll-overs need not be handled by JS anymore, because of the CSS a:hover handles it better and with less code.

This book relates to the reader in a manner that assumes a shared basic knowledge of XHTML and CSS. It is full of examples of selecting nodes via the getElementByTag method, not unlike the way CSS interacts with the DOM. For instance, with CSS every H1 in a document can be given a certain style.

By using JavaScript, you can affect these by changing color, margin or padding directly. Jeremy gives examples of how instead of re-defining these types of things with JS, you can simple assign a different class name to them, and control the styles via CSS, the way you normally would.

He also shows how to impliment current-page indicators in a navigation system, but conceeds that things like this are better handled with server-side scripting. It is refereshing to see an author who is humble about his area of expertise, presenting it as a piece of a larger system, and showing areas in which it might not be the best fit for the task at hand.

I could go on and on, but I think that if I give away too much, that might be giving you the book for free. So, take my advice: If you are wondering what all this DOM / AJAX buzz is, then go get this book. It will give you a solid handle on the underlying principles of the DOM, and show you how to use a combination of JavaScript and CSS to best manipulate behavior within your webpages.