JavaScript: The Missing Manual

Errata for JavaScript: The Missing Manual

Submit your own errata for this product.


The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update



Version Location Description Submitted By Date Submitted Date Corrected
Printed
Page xiii
middle of page

delete the extraneous "s" in front of "sMac OS X: The Missing Manual, Tiger Edition

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Anonymous  Jul 23, 2008  May 02, 2011
Printed
Page printing history page
Copyright line listing Authors name

There's no space between Sawyer and McFarland

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Anonymous  Sep 24, 2008  May 02, 2011
Printed
Page 8
2nd paragraph

sarting <- wrong starting -< correct

Note from the Author or Editor:
2nd paragraph, last line on page 8 should be "starting on page 172."

Grega Leskovsek  Dec 22, 2008  Oct 01, 2009
Printed
Page 10
first paragraph, second line

"paired down" is incorrect. It should read: a pared-down version etc [and note the hyphen] pair = two pare means to trim

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Bill Dudley  Jan 24, 2011  May 02, 2011
Printed
Page 15
2nd last line

The word 'need' spelled as 'nee'.

Note from the Author or Editor:
2nd to last line The word 'need' spelled as 'nee'

Anonymous  Oct 06, 2008  Oct 01, 2009
Printed
Page 26
Bottom of page, "Your First Javascript Program," first paragraph

Quoting from the book "To get started, you'll need a text editor (see page 190 for recommendations)" but if you give a look at page 190, there isn't any recommendation. (You can find informations about text editors on page 9 and 10.)

Note from the Author or Editor:
"To get started, you'll need a text editor (see page 190 for recommendations)" should be page 9

Anonymous  Nov 21, 2008  Oct 01, 2009
Printed
Page 27
Hinweis (Note)

... die Beispieldateien von der Verlagswebsite unter www.//examples.orreily.de/german_examples/javascriptmmger. RICHTIG: ... die Beispieldateien von der Verlagswebsite unter examples.oreilly.de/german_examples/javascriptmmger. ... the sample files from the publisher website at www.//examples.orreily.de/german_examples/javascriptmmger. TRUE: ... the sample files from the publisher website at http://examples.oreilly.de/german_examples/javascriptmmger/

Thomas Bauer  Jul 09, 2009 
Printed
Page 27
Hinweis (Hint) [German version of book]

Wrong link: www.//examples.oreilly.de/german_examples/javascriptmmger/ Correct link: http://examples.oreilly.de/german_examples/javascriptmmger/

Anonymous  Oct 15, 2009 
Printed
Page 29
8th paragraph

The page opens and the words "Hello world!" appear below the blue headline (see Figure 1-3). It is actually more of a red/maroon headline unless my monitor is completely off in calibration :P

Note from the Author or Editor:
Should read "below the red headline."

Anonymous  Aug 13, 2008  Oct 01, 2009
Printed
Page 31-32
End of 31 and middle of 32

by following the step by step the code should look like this: <script type="text/javascript" src="../js/jquery.js"></script> <script type="text/javascript"> $(document).ready(function() { $('table.striped tr:even').addClass('even'); }); </script> but you have it as <script type="text/javascript" src="../js/jquery.js"></script> <script type="text/javascript"> $(function() { $('table.striped tr:even').addClass('even'); }); </script>

Note from the Author or Editor:
In step 7 code should be: $(document).ready(function() { $('table.striped tr:even').addClass('even'); });

Anonymous  Aug 13, 2008  May 02, 2011
Printed
Page 42
2nd column of the FAQ box, line 7

In the given example ("He said, "Hello\"") the second double-quote character (just before the word Hello) should be escaped as well: "He said, \"Hello\"".

Note from the Author or Editor:
2nd column of FAQ box, line should read "He said, \"Hello\"" The double quotes before the word Hello should also be escaped like this: \" Error corrected. Will be fixed in next printing.

Larry Lessmann  Dec 30, 2008  May 02, 2011
Printed
Page 42
FAQ box, top right paragraph, last line

word "isn't" has to have a forward slash before it: isn\'t. should it not read word "isn't" has to have a backward slash before it: isn\'t.

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Gerhard Schmidt  Apr 09, 2009  May 02, 2011
Printed
Page 49
5th para

First sentence after heading "Combining Strings" says: "Combining two or more stings, etc." SB "strings".

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Mark Wales  Feb 22, 2009  May 02, 2011
Printed
Page 52
Table 2.3, third paragraph

Multiplies value on the right side of the equal sign to the variable on the left. Shouldn't this read: by the variable on the left? As in multiplies by?

Note from the Author or Editor:
should read: "Multiplies the variable on the left side of the equals sign and the value on the right side of the equals sign." Error corrected. Will be fixed in next printing.

Bill Dudley  Jan 24, 2011  May 02, 2011
Printed
Page 61
Note at page bottom

Word processor helped too much. The push() function is incorrectly noted as Push().

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Brad Yourth  Sep 06, 2009  May 02, 2011
Printed
Page 61
3rd paragraph, 2nd sentence.

The word "list" should be "last". Remember that the [list] item is accessed using an index that's one less than...etc.

Note from the Author or Editor:
changer "list" to "last" in "Remember that the list item is accessed" Error corrected. Will be fixed in next printing.

Dan Murray  Sep 07, 2009  May 02, 2011
Printed
Page 63
para 1

Actual text: "The Push and Unshift commands return a value (see the Note on the previous page)" Corrected text: "...(see the Note on page 55)" assuming the intended reference is re returning values.

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Nik Zakrzewski  Mar 22, 2009  May 02, 2011
Printed
Page 71
3rd paragraph

You state that javascript and css use the same comment syntax. Unfortunately, css does not support the "//" comment syntax. It only supports the /* ... */ syntax. See section 4.1.9 of the css2 specification.

Anonymous  Aug 31, 2008 
Printed
Page 72
4th para, 1st line

7th word ("a") is superfluous

Note from the Author or Editor:
Sentence should read: "For example, at the beginning of the jQuery library's JavaScript file, you'll find this comment:" Error corrected. Will be fixed in next printing.

Anonymous  Jan 26, 2009  May 02, 2011
Printed
Page 86
Code in middle of page

I'm not sure if this submission will show indents, but I'll give it a try. You have: if (a < 10 && a > 1) { //first level indenting for first conditional alert("The value " + a + " is between 1 and 10"); if (a==5) { //second level indenting for 2nd conditional alert(a + " is half of ten."); } } It ought to be: if (a < 10 && a > 1) { //first level indenting for first conditional alert("The value " + a + " is between 1 and 10"); if (a==5) { //second level indenting for 2nd conditional alert(a + " is half of ten."); } }

Note from the Author or Editor:
correct. the line if (a==5) { should be at the same level of indentation as the line before it (the one that begins with "alert") Error corrected. Will be fixed in next printing.

David Arnold  Aug 15, 2010  May 02, 2011
Printed
Page 88
in step 6

in the first quote of step 6, "Hey, that's . . ." the phrase "that's" should be "7 is"

Note from the Author or Editor:
page 88, step 6, first line of paragraph following step change "Hey, that's my lucky number, too!" to "Hey, 7 is my luck number too!" Error corrected. Will be fixed in next printing.

Powernattoh  May 22, 2010  May 02, 2011
Printed
Page 93-94
Script description on p93-94 incorrect for script on p93

The script var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] var counter = 0; while (counter < days.length) { document.write(days[counter] + ', '); counter++; } The description says that this would be printed to the screen: "the day of the week is written to the page (followed by a comma and a period)". This is not true. No period is written to the page and another problem is that it writes: "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, " You wouldn't want a comma and a space after Sunday. I can correct this for myself but it needs to be changed in the next printing.

Anonymous  Aug 21, 2008 
Printed
Page 94
Figure 3-4

Current text: The final result of this script will be "Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday" Actually, as written, the script will result in an extra ", " being concatenated at the end after Sunday that would need to be trimmed: ..."Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, "

Note from the Author or Editor:
Author needs to confirm what exactly should be done.

Nik Zakrzewski  Mar 24, 2009 
Printed
Page 108
Top line

In the top line on page n 108, chapter 3, you changed the format of instructing us to type in data into our editor. On line one you say 3. Hit return and add a new line and type var questions=[. Thus adding a period at the end of this sentence. Previously you would have presented it this way; 3. Hit return and add a new line and type: var questions=[ Notice no period. Upon checking the 3.3 complete, I discovered no period was to be.. BTW...this is the best instructional book on coding I have ever read, and I think that your instructions gave me the ability to pick out this mistake...

Note from the Author or Editor:
For step 3, on page 108, do NOT type the final period. Just type: var questions=[ Error corrected. Will be fixed in next printing.

Anonymous  Oct 31, 2008  May 02, 2011
Printed
Page 123
Table 4-3

Character [^ ] Towards the end of the description, it says that this is the same as \d when in fact it would be the same as \D, the exact opposite of what is stated in the book. Change (the same as \d) to (the same as \D) Also, on a separate note, when you go to http://missingmanuals.com/cds and click on J to find the JavaScript book, the JavaScript book has an incorrect heading. It reads CSS: The Missing Manual. You might want to fix that.

Note from the Author or Editor:
Table 4-3 change description for [^ ] to Any character except one in brackets. For example, [^aeiouAEIOU/ will match any character that isn't a vowel. [^0-9] matches any character that's not a number (the same as \D). Error corrected. Will be fixed in next printing.

Anonymous  Oct 12, 2008  May 02, 2011
Printed
Page 123
[^ ] matches

Author mistyped his own correction by ending the character class with /, when ] is required (your Perl is showing)

Brad Yourth  Oct 10, 2009 
Printed
Page 126
First Tip section

Tip reads, "You can find a completely library. . .", but should read, "You can find a complete library. . .".

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Anonymous  Sep 03, 2009  May 02, 2011
Printed
Page 129
para 2, list item 4

current text: [-\/ .] will match a hyphen, a backslash, a period, or a space character. should be: ..., a forward slash,...

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Nik Zakrzewski  Mar 29, 2009  May 02, 2011
Printed
Page 130
Figure 4-4

current figure: ((https?\:\/\/)|(\swww\.))\S* should be: ((\bhttps?\:\/\/)|(\bwww\.))\S*

Nik Zakrzewski  Mar 29, 2009  May 12, 2011
Printed
Page 130
Figure 4-4

current figure: ((https?\:\/\/)|(\swww\.))\S* should be: ((\bhttps?:\/\/)|(\bwww\.))\S*

Note from the Author or Editor:
Figure 4-4 should have the following text in the diagram: ((\bhttps?:\/\/)|(\bwww.))\S*

John Timothy  Sep 15, 2011 
Printed
Page 132
example code, mid-page

current line: alert(url[0]); should be: alert(url[0]); // www.missingmanuals.com for clarity

himself@johntim.com  Sep 15, 2011 
Printed
Page 139
Second paragraph

The last sentence reads, "For example, if you want to simulate a die role. . .". This should read, "For example, if you want to simulate a die roll. . .".

Note from the Author or Editor:
change "role" to "roll" Error corrected. Will be fixed in next printing.

Anonymous  Sep 03, 2009  May 02, 2011
Printed
Page 139
2nd paragraph

The Random() method should be the random() method (case issue).

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Brad Yourth  Sep 06, 2009  May 02, 2011
Printed
Page 140
Table 4-5

"What it returns" for the method getTime() reads: "Total number of seconds since January 1, 1970..." should be: "Total number of milliseconds since January 1, 1970..."

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Nik Zakrzewski  Sep 12, 2009  May 02, 2011
Printed
Page 142
"POWER USERS' CLINIC"-Box

The example for getting the Date of "New Year 2009" shows the code as "new Date (2009, 1, 1)" As months start with index of '0', it should be "new Date (2009, 0, 1)" The error occurs two times inside the box

Note from the Author or Editor:
page 142 power users clinic 2 changes -- right column, 5th line should read: var nextYear = new Date(2009,0,1); -- second to last line in right column. Change new Date(2009,1,1) to new Date(2009,0,1). Error corrected. Will be fixed in next printing.

Hendrik Schaper  Dec 12, 2009  May 02, 2011
Printed
Page 145
sample code

Code sample on this page is inconsistent with author's admonishment on page 40 to not be one of those authors that doesn't use semi-colons consitently to close JavaScript statements.

Note from the Author or Editor:
first line of code time = hours should have ; at end time = hours; 4th from last line of code time += sep + seconds should have ; at end time += sep + seconds; Error corrected. Will be fixed in next printing.

Ken Wilson  Jun 07, 2010  May 02, 2011
Printed
Page 149
Steps 6 and 8

On page 149 you are missing the "else" part of the "if/else"statements which create the variables "fillMonth" in step 6 and "fillDate" in step 8. Eliminating these from the step by step directions meant the explanation of what they do was also missing. If I did not carefully proofread my code against the completed function, rather than the step-by-step instructions, I would not have been able to debug the code.

Note from the Author or Editor:
Code in steps 6 and 8 on page 149 is correct. However, there are two mistaken blocks of code in final code listed in step 13 on page 151. This is wrong: if (realMonth<10) { fillMonth = '0' + realMonth; } else { fillMonth = realMonth; } Should be: var fillMonth=realMonth; if (realMonth<10) { fillMonth = '0' + realMonth; } Also this is wrong: if (day<10) { fillDate='0' + day; } else { fillDate=day; } should be var fillDate=day; if (day<10) { fillDate='0' + day; } Error corrected. Will be fixed in next printing.

Anonymous  Sep 10, 2008  May 02, 2011
Printed
Page 149
Just before step 9

The step-by-step instructions do not include the line: var fillDate = (day<10) ? '0' + day : day; Therefore you have not given any explanation of what this line is supposed to do. The script will run either with or without the line, but I would like to know what I am coding! Thank you for your help. Margie Lynch-Freshner

Note from the Author or Editor:
The code on page 151 mistakenly lists the following line: var fillDate = (day<10) ? '0' + day : day; This is not necc. and is shorthand method for achieving the same code in step 9 on page 149. Error corrected. Will be fixed in next printing.

Anonymous  Sep 10, 2008  May 02, 2011
Printed
Page 151
Under step 13, "The Complete function should look like this:"

The complete dateString function on page 151 is wrong and does not match the complete_4.1.html example from www.sawmac.com/javascript. It is missing the declaration of the fillMonth variable var fillMonth before the line that reads "if (realMonth<10) {". It is also missing the declaration of the fillDate variable var fillDate before the line that reads "if (day<10) {" Lastly the line that reads "var fillDate = (day<10) ? '0' + day : day;" can, I beleive, be removed. It is not explained in the text nor matches the example. If that is the intended way of declaring the fillDate variable, it at least needs to be moved higher in the function prior to the IF (day<10) statement, and the example would need changing to match it. Additionally, with regards to the function summary on page 151 and the complete_4.1.html file from the supplemental materials, neither of these functions matches the technique explained on the previous pages 148-150. Any true beginners to javascript will probably be very confused when working with this example. On Page 149 you declare the fillmonth vairable as follows: var fillmonth = realMonth; which eliminates the need to have the ELSE statement to account for months which are greater than 10. In the example and on page 151 you instead simply define fillmonth but then use the ELSE statement as follows: var fillMonth if (realMonth<10) { fillMonth = '0' + realMonth; } else { fillMonth = realMonth; The same discrepancy is found with the fillDate variable. On page 149 you use the declaration var fillDate=day; but then in the example and on page 151 you use the ELSE statement: var fillDate if (day<10) { fillDate='0' + day; } else { fillDate=day; }

Note from the Author or Editor:
Step 13 on page 151. The complete function code should look like this: function dateString(date,string) { var year=date.getFullYear(); var month=date.getMonth(); var realMonth=month+1; var fillMonth=realMonth; if (realMonth<10) { fillMonth = '0' + realMonth; } var months = ['January','February','March','April','May', 'June','July','August','September', 'October','November','December']; var monthName=months[month]; var day=date.getDate(); var fillDate=day; if (day<10) { fillDate='0' + day; } var weekday=date.getDay(); var weekdays = ['Sunday','Monday','Tuesday','Wednesday', 'Thursday','Friday','Saturday']; var dayName=weekdays[weekday]; string = string.replace(/%Y/g,year); // 2008 string = string.replace(/%y/g,year.toString().slice(-2)); //08 string = string.replace(/%M/g,monthName); //January string = string.replace(/%m/g,monthName.slice(0,3)); //Jan string = string.replace(/%N/g,fillMonth); // 01 string = string.replace(/%n/g,realMonth); // 1 string = string.replace(/%W/g,dayName); //Monday string = string.replace(/%w/g,dayName.slice(0,3)); //Mon string = string.replace(/%D/g,fillDate); //05 string = string.replace(/%d/g,day); // 5 return string; } Error corrected. Will be fixed in next printing.

Anonymous  Dec 02, 2008  May 02, 2011
Printed
Page 161
End of 2nd paragraph

The two text nodes are "Some" and "text", not "Some" and "strong".

Note from the Author or Editor:
Last sentence of paragraph two should read: Nodes that share the same parent, like the two text nodes--"Some" and "text"--and the <strong> tag are like brothers and sisters, so they're called siblings. Error corrected. Will be fixed in next printing.

Larry Lessmann  Dec 30, 2008  May 02, 2011
Printed
Page 172
2nd last paragraph, beginning with "Fortunately, ...last sentence in paragraph

For example, h1 is basic language selector... should be: For example, h1 is a basic language selector

Note from the Author or Editor:
change "For example, h1 is basic element selector" to "For example, h1 is a basic element selector" add "a" between "is" and "basic" Error corrected. Will be fixed in next printing.

Brad Yourth  Sep 07, 2009  May 02, 2011
Printed
Page 183
code after the 3rd paragraph (middle of the page)

The jQuery selector $('userName') should be $('#userName')

Note from the Author or Editor:
code that begins with $('userName').after( should be $('#userName').after( Error corrected. Will be fixed in next printing.

Patrick Goetz  Feb 15, 2010  May 02, 2011
Printed
Page 185
2nd paragraph

Last sentence - "...simply adding a class to a tag could complete change that tag's appearance..."

Note from the Author or Editor:
Last sentence of paragraph two should read: "Because Web browsers process and implement CSS instructions very quickly and efficiently, simply adding a class to a tag can completely change that tag's appearance--even make it disappear from the page." Error corrected. Will be fixed in next printing.

Anonymous  Aug 18, 2008  May 02, 2011
Printed
Page 185
last line of note

The last sentence of the Note states "For example, addClass('externalLink') is correct but addClass('externalLink') is wrong." The last "addClass('externalLink')" should read "addClass('.externalLink')"

Note from the Author or Editor:
Note at bottom of page 185 should read: When using the addClass() and removeClass() functions, you only supply the class name--leave out the period you normally use when creating a class selector. For example, addClass('externalLink') is correct, but addClass('.externalLink') is wrong. Error corrected. Will be fixed in next printing.

Anonymous  Nov 17, 2008  May 02, 2011
Printed
Page 187
Last paragraph

ERROR: "It's little trickier than..." CORRECTION: "It's a little trickier than..."

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

judenile  Jun 30, 2009  May 02, 2011
Safari Books Online
219
first "tip"

Tip: Because the ready() function is used nearly anytime you add jQuery to a page, there's a shorthand way of writing it. You can remove the $(document).ready part, and just type this: Missing content at end of this line!

Note from the Author or Editor:
$(function() { // do something on document ready }); Error corrected. Will be fixed in next printing.

Anonymous  Oct 02, 2008  May 02, 2011
Printed
Page 223
Tip under Table 6-1

a JavaScript method that coverts they number ... should be a JavaScript method that converts they number ...

Note from the Author or Editor:
change "coverts" to "converts" Error corrected. Will be fixed in next printing.

Frans Handoko  Aug 11, 2009  May 02, 2011
Printed
Page 242

What the heck is wrong with tutorial 7.1??! I input it exactly as described in the printed tutorial but when I hovered over each picture, I could see the link to the large copy of the picture in the status bar. My understanding of this tutorial is that when I hovered over the image it would change to the color version based on the line near the bottom of page 242: "In this function (line 13), you access that value again to set the src back to its original value. Save the page, view it in a Web browser, and mouse over each of the black and white images to see them pop into full color." If I click on one of the pictures, then it loads a new page giving me the large image on a separate page. I have to back-arrow to return to my page. I opened up the completed copy of the file. When I ran it I got a fatal error on line 16 saying "console is not defined". Other than that, the page ran exactly the same way. This first sample is my typed in script. The second sample is the script from the complete_7.1.html. <script type="text/javascript"> $(document).ready(function() { $('#gallery.img').each(function() { var imgFile = $(this).attr('src'); var preloadImage = new Image(); var imgExt = /(\.\w{3,4}$)/; preloadImage.src = imgFile.replace(imgExt, '_h$1'); $(this).hover( function() { $(this).attr('src', preloadImage.src); }, function() { $(this).attr('src', imgFile); } );//end hover }); //end each }); // end ready </script> ___________________________ <script type="text/javascript"> $(document).ready(function() { $('#gallery img').each(function() { var imgFile = $(this).attr('src'); console.log(imgFile); var preloadImage = new Image(); var imgExt = /(\.\w{3,4}$)/; preloadImage.src = imgFile.replace(imgExt,'_h$1'); $(this).hover( function() { $(this).attr('src', preloadImage.src); }, function () { $(this).attr('src', imgFile); } ); // end hover }); // end each }); // end ready() </script> ___________________________ Note the line that says: console.log(imgFile); Not only is this not in the printed book or the Safari Online copy, but its existence gives me an error. Could you please send me a copy of the correct file? I specifically chose the JavaScript Missing Manual because other books in the series have been effective and accurate at explaining the processes I am trying to learn. This is the third errata report I have submitted and I have only gotten halfway through the book! Marjorie Lynch-Freshner

Note from the Author or Editor:
Console.log(imgFile) is in the final tutorial file. That line has been removed from the files online. The other problem I could not replicated. We need more information such as what browser, what browser version and which platform you are on.

Anonymous  Sep 18, 2008 
Printed
Page 247
first and second code examples

The object literals used in the first and second code examples are not correctly formatted. Object literals contain name/value pairs. Each name/value pair ends with a comma, except for the last one in the list. First code example should look like this: { left: '650px', opacity: .5, fontSize: '24px' } The second code example should have the same object literal listed above: { left: '650px', opacity: .5, fontSize: '24px' }

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

David Sawyer McFarland
David Sawyer McFarland
O'Reilly Author 
Jan 25, 2010  May 02, 2011
Printed
Page 258
8th paragraph

The description of the 'imageLoading' option reads 'The path to the image used for the Close button ...' where it should state something to the effect of pointing to the image displayed when the image is loading.

Note from the Author or Editor:
Change "imageLoading. The path to the image used for the Close button on the pop-up image window." to "imageLoading. The path to the image that appears in the pop-up window, before the image is loaded and displayed." Error corrected. Will be fixed in next printing.

Derek Greer  Aug 04, 2010  May 02, 2011
Printed
Page 264
Second source listing

The caption for tiger.jpg and lion.jpg should be changed to "A tiger!" and "A lion!" respectively.

Note from the Author or Editor:
Page 264, second set of HTML code under step 1: change the second <p>An elephant!</p> to <p>A tiger!</p> And the third: <p>An elephant!</p> to <p>A lion!</p> Error corrected. Will be fixed in next printing.

Derek Greer  Aug 04, 2010  May 02, 2011
Printed
Page 278
4th paragraph

After the first snippet of the following code: 1. $('#showForm').click(function() { 2. $('#loginForm').fadeIn('slow'); 3. return false; 4. }); The text in the book reads, "Line 1 accomplishes both steps 1 and 2 on page 277; line 3 displays the hidden form." The last part of the sentence should read, "line 2 displays the hidden form."

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Chris Curtis  Jan 27, 2010  May 02, 2011
Printed
Page 316
2nd last paragraph above tip, fourth line

should be 'Line 3" not 'Line 6' that 'checks to see if the value of the field is an empty string('')'

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Roderick Kar  Jun 14, 2010  May 02, 2011
Printed
Page 359
at the bottom the second paragraph and the indented line that follows it

the author spells the "autoHeight" property using all lowercase characters twice. The "autoHeight" property is case sensitive and will not work if the "H" is not capitalized.

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Anonymous  Sep 28, 2010  May 02, 2011
Printed
Page 362
Step #5

the code is added in step 4: $('#accordion').accordion({}); but shown in step 5 as: $("#accordion").accordion({}); using double quotes rather than single quotes around the selector. Additionally the complete 10.1 file also has double quotes rather than single quotes.

Note from the Author or Editor:
step 4, second line of code should be $("#accordion").accordion({ Error corrected. Will be fixed in next printing.

Becky  Mar 26, 2010  May 02, 2011
Printed
Page 364
top of page

In accordion tutorial 10.1 the opened panel's tab bar would not change to dark blue. Tried changing "selectedClass:'current'" to "selectedClass:'.current'". Still did not work. Then ran "completed_10.1" file. It did not work.

Note from the Author or Editor:
Page 363, step 8: skip this step.

Al Winter  Oct 16, 2009 
Printed
Page 364
Organizing Information in Tabbed Panels, step 1, paragraph 1

In Step 1, paragraph 1 the book reads: "In addition to the JQuery library, you must also link to two additional files: ui.core.js and ui.accordion.js." The line should be: "In addition to the JQuery library, you must also link to two additional files: ui.core.js and ui.tabs.js." The ui.accordion.js should be ui.tabs.js

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Becky  Mar 26, 2010  May 02, 2011
Printed
Page 364
last paragraph

Last line of paragraph reads "...you'll have four..." and should read "...you'll have three...". Also, closing </script> tag is missing for third line of the sample code that immediately follows.

Note from the Author or Editor:
change last line of last paragraph to "other words, you'll have three script tags, something like this:" and at the end of the last line of code on that page add </script> Error corrected. Will be fixed in next printing.

Ken Wilson  Jul 01, 2010  May 02, 2011
Printed
Page 364
Top Of Page

Correction Entered: Note from the Author or Editor: Page 363, step 8: skip this step. Page 364, step 9, CSS code should read: .ui-accordion-content-active { background: #036; } Correction Should Have Been: Note from the Author or Editor: Page 363, step 8: skip this step. Page 364, step 9, CSS code should read: #accordion h2.ui-state-active { background: #036;}

Note from the Author or Editor:
Error corrected for step 9.

Al Winter  Feb 10, 2011  May 02, 2011
Printed
Page 388
Cluetip tutorial, step2, 3rd paragraph

the book states: The file already has three external JavaScript files linked to the page: the jquery.js, jquery.dimensions.js, and jquery.cluetip.js. There are only two files already linked: the jquery.js and the jquery.cluetip.js.

Note from the Author or Editor:
Page 388, step 2, second paragraph following the step. change the first two sentences to: This file already has two external JavaScript files linked to the page: the jquery.js, and jquery.cluetip.js files. The Cluetip plugin requires the jQuery file to work. Error corrected. Will be fixed in next printing.

Becky  Mar 27, 2010  May 02, 2011
Printed
Page 399
point 8 in the Creating Sortable TablesTutorial

Point 8 in the Creating Sortable Tables Tutorial states: "8. In your text editor, return to the tables.css files and add one last style: .sortable tr.even { " I believe it should have some code and a closing brace. Something like (as listed on page 397): .sortable tr.even { background-color: #F34; } This is a lousy color choice, but what they hey.

Note from the Author or Editor:
Step 8 should read: .sortable tr.even { background-color: #F34; } Error corrected. Will be fixed in next printing.

Anonymous  Oct 13, 2008  May 02, 2011
Printed
Page 421
4th code snippet

The code example for using post() w/ encodeURIComponent() reads: var queryString = 'favFood=' + encodeURIComponent('Mac & Cheese'); $.post('foodChoice.php' queryString); The second line should have a comma separating the 2 parameters: var queryString = 'favFood=' + encodeURIComponent('Mac & Cheese'); $.post('foodChoice.php', queryString);

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Taylor Edmiston  Jul 23, 2010  May 02, 2011
Printed
Page 426
Headline for Tutorial

The headline "Tutorial: Using the get() function" should be "Tutorial: Using the post() function"

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

David Sawyer McFarland
David Sawyer McFarland
O'Reilly Author 
Jan 28, 2010  May 02, 2011
Printed
Page 427
Sidebox

The sidebox "Receiving XML from the Server" mentions, "jQuery's filters (page 176)" in the first paragraph in the right column. jQuery Filters is on page 178.

Note from the Author or Editor:
Error corrected. Will be fixed in next printing.

Taylor Edmiston  Jul 23, 2010  May 02, 2011
Printed
Page 455
The JMaps Tutorial

This tutorial is supposed to allow you to create a Google map on a webpage including allowing the user to get driving directions. I went through the tutorial but despite my best efforts, whenever I input a location and clicked the submit button, directions were not forthcoming. I attempted to test this function in the "complete" sample provided by the author to see where my mistake might be, but the complete webpage (complete_12.2.html) also displayed the same failure. The only thing I can think of is that this code needs to be run on a web server (some of the AJAX tutorials can only operate on a web server and not a local computer), but I didn't see explicit instructions or a caveat stating that this was so for the JMaps Tutorial. Thanks.

Note from the Author or Editor:
There have been several reports that the tutorial for Google maps driving directions does not for some readers of the book. Unfortunately, neither I nor the developer of the jQuery Maps plugin know what is causing this. We're looking into this further and will hopefully have an answer that we can post on the companion web site (www.sawmac.com/javascript/) soon.

Anonymous  Sep 11, 2008