Buy new:
$17.99$17.99
FREE delivery:
Feb 9 - 13
Ships from: CATINGTON LLC Sold by: CATINGTON LLC
Buy Used: $14.53
Other Sellers on Amazon
+ $3.99 shipping
98% positive over last 12 months
& FREE Shipping
92% positive over last 12 months

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required. Learn more
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.


DOM Scripting: Web Design with JavaScript and the Document Object Model 1st Corrected ed., Corr. 2nd printing Edition
Enhance your purchase
* Shows readers how to build several real world projects.
* All examples are fiercely standards compliant and up-to-date.
- ISBN-101590595335
- ISBN-13978-1590595336
- Edition1st Corrected ed., Corr. 2nd printing
- PublisherApress
- Publication dateSeptember 20, 2005
- LanguageEnglish
- Dimensions7.52 x 0.83 x 9.25 inches
- Print length390 pages
![]() |
Customers who viewed this item also viewed
Editorial Reviews
About the Author
Product details
- Publisher : Apress; 1st Corrected ed., Corr. 2nd printing edition (September 20, 2005)
- Language : English
- Paperback : 390 pages
- ISBN-10 : 1590595335
- ISBN-13 : 978-1590595336
- Item Weight : 1.9 pounds
- Dimensions : 7.52 x 0.83 x 9.25 inches
- Best Sellers Rank: #3,036,932 in Books (See Top 100 in Books)
- #63 in XHTML Software Programming Computer
- #348 in Computer Programming Structured Design
- #4,947 in Software Development (Books)
- Customer Reviews:
About the author

I'm a web developer living and working in Brighton, England.
Working with the web consultancy firm Clearleft, I enjoy building accessible, elegant websites using the troika of web standards: XHTML, CSS and the DOM.
My online home is adactio.com.
I'm is a member of the Web Standards Project where I serve as joint leader of the DOM Scripting Task Force.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
The Document Object Model (DOM) is a standard for conceptualizing and representing the contents of an HTML or XML type document. Mr. Keith's book teaches how to use JavaScript to manipulate the DOM so that you can dynamically add or remove content from a page, change the way things look, or move things around. Similar to how CSS allows you to control the presentation of your content, DOM scripting allows you to control behaviors and events.
There are lots of great JavaScript frameworks available like jQuery, Script.aculo.us, or Dojo which allow you to easily enhance your websites. In order to fully take advantage of them though, you need to have a fundamental understanding of how things like the DOM and JavaScript event handling work. That's where this book really excels. It's written primarily for web standards developers fluent in XHTML/CSS who're looking to branch into more client-side scripting.
This book is full of useful lessons and real world examples on how to make JavaScript and the DOM work in your applications. It also places a heavy focus on fundamentals and best practices such as graceful degradation which will help you make sure that your sites still function well even without the fancy JavaScript enhancements. JavaScript has long been thought to make things inaccessible but it doesn't have to be. This book stresses how to use these technologies in an efficient, unobtrusive way.
What I liked most about this book was the voice in which it was written. I've read dozens of boring hard-to-follow tech manuals over the years but this book felt more like a friend standing over your shoulder and walking you through the process. That does somewhat limit the amount of information the book can cover and it definitely doesn't go very far into advanced techniques. If you've been doing standards development and basic JavaScript for a while though, and you really want to get started on increasing your scripting skills, this book makes an excellent primer. For me it turned my impression of JavaScript from an overly-complex annoyance to an easy-to-use yet incredibly powerful tool for improving my websites.
[...]
The book itself flows well from chapter to chapter. The beginning chapters give you a foundation to work with during the rest of the book. Jeremy teaches basic constructs of JavaScript programming and how/where they can be used. If you are already a programmer (not necessarily JavaScript), this chapter will be a quick one. It is very informational, yet straight to the point. Once he gets the basics and best practice techniques out of the way - he dives into the DOM and gives several useful examples. This is where it gets good.
Before moving further, I should mention that his best practices are applied all throughout this book - and that includes creating useful and unobtrusive JavaScript. So, with each chapter - he shows the process and then brings it around full circle to an unobtrusive model. For instance, with the image gallery example, he shows that without JavaScript, this process would be useless - and we don't need extra markup on the pages that won't be used. He shows you, step by step (with great code highlighting and screenshots), how to build the image gallery on the fly. This way, if a user HAS JavaScript they can get the better experience. For those without, it degrades gracefully and doesn't add unnecessary code to the markup. This is just one example - but is used on all of his building blocks throughout the book.
There were many times in the book I would question what was being done (from an unobtrusive standards perspective). Each of those questions was immediately answered in the paragraphs or chapters to come. Jeremy does a great job to present the big picture, along with explaining why things were done certain ways. I read this book in two days, simply because it was hard to put down. The last chapters (aside from the reference), were the icing on the cake. This is where he puts all of the pieces together for a fictional website, JayScript and the Domsters. This chapter takes all of the pieces taught throughout the book and puts them in a practical environment. Go ahead, play with the fictional site. It has nice little touches, that, even when JavaScript is disabled has a nice user experience.
Overall, I would highly recommend this book if you are looking to get your hands dirty with JavaScript and DOM Scripting. The book was an easy read, packed with useful information. Just as with CSS Mastery, each chapter would build on the last - all the way until the end where it was all put together as a whole. Also, I am currently reading "DHTML Utopia", and this book was a great primer to JavaScript techniques. Thanks, Jeremy, for a great, concise, book on a topic that can sometimes scare people away.
There are still some valid, valuable sections, but by and large this book is written for non-programmers and has a lot of bad practices represented as best practices because the author didn’t know any better.
Unless you’re already knowledgeable about such things, it’s best to keep your distance from this book. It’s probably easier (and smarter) to look up information about the DOM and its API with a search engine...
Top reviews from other countries

This book has been written in a very readable style, not expecting too much previous experience from the reader, but also not treating the reader like a complete novice. Starting off by building up some basic JavaScript/ECMAScript knowledge, then working through how to use it with (X)HTML and CSS, the progression is easy but the coverage very good. Along the way, some useful code examples are built up, with a really strong emphasis put on separation of responsibilities between structure, behaviour and presentation. It's like reading the code of somebody who has done it for years, gone through all the obstacles, and come up with a set of working practices that are so simple, but that take into account all of the things that would make the code of others fail. A simplicity to aspire to.
I also like the emphasis on progressive enhancement, which provides graceful degradation - it might sound like semantics, but implementing progressive enhancement feels so much more positive than always thinking about degradation.
Whether developing systems using the DOM, or testing them (either via review, manual execution, or developing automated tests that access the DOM using tools such as Selenium WebDriver or Ranorex), this book provides the reader with a clear understanding of how to use the DOM, what practices web applications should follow, and how to implement useful code for querying and modifying the DOM.
It's good to see a book that has been well proof-read as well. I read the book very quickly, but think I only spotted a couple of typo's and one ambiguity (I don't like seeing "between" used in the context of ranges without specifying "inclusive" or "exclusive"). Great stuff.
Highly recommended (although note that there is a second edition available now - I bought and read the first edition before I realised). No caveats.

What this book does particularly well is explain how to use Javascript to enhance the users web experience without degrading that of non-Javascript users. While it explains the language as much as is necessary, it is not a programmers manual, it is a designers manual. You might well want to get a programmers manual to go alongside this book. However, I strongly recommend it to those wanting to produce a non-gimmicky but powerfully enhanced site.
It is, however, a bit dated - it came out in 2005. There is a new edition due in December 2010, which will, I hope, take account of HTML5 and CSS3. If so, it will be well worth waiting for.

The code examples are clearly explained, but I did feel it helped to have some background with CSS and PHP as the book dives right into function calls, object properties and the like - and yet does a good job of making these accessible.
If there's a weakness, I'd say it occasionally takes too long to make its point, e.g. going step by step through very similar code examples at times. From a reader's point of view, Jeremy's coding style seems quite perfectionist, showing successively better or neater ways to write a given piece of code - that's no bad thing though, and the rationale is always explained clearly.
This is a book that deserves a wider audience - the potential power of DOM scripting is awesome, and this will help people comfortable with basic scripting to make the leap to building more sophisticated, impressive and robust web applications.

Apart from being easy to read and understand the book covers on how to improve, add a layer of interactivity and better user experience with the help of JavaScript. Many common mistakes and JavaScript missuses can be avoided if the methods of Progressive Enhancement described are followed. Should be read by anyone who has touched on JavaScript and would like to dig deeper the right way. I never regret buying and will be following closely Jeremy Keiths' other releases.
