Errata
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: |
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: |
Anonymous | Sep 24, 2008 | May 02, 2011 |
Printed | Page 8 2nd paragraph |
sarting <- wrong starting -< correct Note from the Author or Editor: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
![]() David Sawyer McFarland |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
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: |
![]() David Sawyer McFarland |
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: |
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: |
Anonymous | Sep 11, 2008 |