Christian Heilmann

The table of contents of “Beginning JavaScript with DOM scripting and Ajax”

Tuesday, June 20th, 2006 at 11:56 am

Some people asked me at @media about detailed content of my upcoming book. So without further ado, here is the table of contents with page numbers:

  • Foreword xiii
  • About the Author xv
  • About the Technical Reviewer xvii
  • Introduction xix
  • CHAPTER 1 Getting Started with JavaScript 1
    • The Why of JavaScript 3
    • What Is JavaScript? 4
    • Problems and Merits of JavaScript 5
    • Why Use JavaScript If It Cannot Be Relied On? 6
    • JavaScript in a Web Page and Essential Syntax 7
      • JavaScript Syntax 8
      • Code Execution 9
      • An Aside About Functions 11
    • Objects 12
    • A Simple JavaScript Example 13
    • Summary 16
  • CHAPTER 2 Data and Decisions 17
    • Data, Data Types, and Data Operators 18
      • The String Data Type 18
      • Operators 21
      • JavaScript Variables 23
      • Converting Different Types of Data 26
    • The Composite Data Types: Array and Object 30
      • Objects JavaScript Supplies You with: String, Date and Math 30
    • Arrays 39
      • The Array Object’s Methods and Properties 42
    • Making Decisions in JavaScript 45
      • The Logical and Comparison Operators 45
      • Conditional Statements 49
      • Testing Multiple Values: the switch Statement 52
      • Repeating Things: Loops 54
    • Summary 59
  • CHAPTER 3 From DHTML to DOM Scripting 61
    • JavaScript As the Behavior Layer 63
      • Object Detection vs. Browser Dependence 65
      • Progressive Enhancement 68
    • JavaScript and Accessibility 69
    • Good Coding Practices 71
      • Naming Conventions 71
      • Code Layout 72
      • Commenting 74
      • Functions 76
      • Short Code via the Ternary Operator 79
      • Sorting and Reuse of Functions 80
      • Variable and Function Scope 80
      • Keeping Scripts Safe with the Object Literal 81
    • Summary 83
  • CHAPTER 4 HTML and JavaScript 85
    • The Anatomy of an HTML Document 85
    • Providing Feedback in Web Pages via JavaScript: The Old School Ways 89
      • Using window Methods: prompt(), alert(),and confirm() 90
    • Accessing the Document via the DOM 96
    • Of Children, Parents, Siblings, and Values 99
      • From the Parents to the Children 100
      • From the Children to the Parents 102
      • Among Siblings 103
    • Changing Attributes of Elements 107
    • Creating, Removing, and Replacing Elements 109
      • Avoiding NOSCRIPT 113
      • Shortening Your Scripts via InnerHTML 115
      • DOM Summary: Your Cheat Sheet 116
      • DOMhelp: Our Own Helper Library 118
    • Summary 122
  • CHAPTER 5 Presentation and Behavior (CSS and Event Handling) 123
    • Changing the Presentation Layer via JavaScript 123
      • Helping the CSS Designer 131
    • Changing the Document’s Behavior via Event Handling 153
      • Events in the W3C-Compliant World 156
      • Fixing Events for the Non-W3C-Compliant World 165
      • Never Stop Optimizing 172
      • The Ugly Page Load Problem and Its Ugly Solutions 173
      • Reading and Filtering Keyboard Entries 174
      • The Dangers of Event Handling 179
    • Summary 180
  • CHAPTER 6 Common Uses of JavaScript: Images and Windows 183
    • Images and JavaScript 183
      • Basics of Image Scripting 184
      • Preloading Images 186
      • Rollover Effects 187
      • Slide Shows 196
      • Summary of Images and JavaScript 211
    • Windows and JavaScript 212
      • Window Properties 213
      • Window Methods 215
      • Summary: Windows and JavaScript 238
    • Summary 239
  • CHAPTER 7 JavaScript and User Interaction: Navigation and Forms 241
    • Navigation and JavaScript 241
      • The Fear of the Page Reload 242
      • Basics of Navigation and JavaScript 242
      • Browser Navigation 245
      • In-Page Navigation 246
      • Site Navigation 255
      • Pagination 263
      • Summary of Navigation with JavaScript 272
    • Forms and JavaScript 272
      • Basics of Forms with JavaScript 274
      • Form Elements 275
      • Interactive Forms: Hiding and Showing Dependent Elements 291
      • Custom Form Elements 297
      • Summary of Forms and JavaScript 297
    • Summary 297
  • CHAPTER 8 Back-End Interaction with Ajax 299
    • Household Cleaning Liquid, Football Club, or Flash Gordon’s Spacecraft: What Is Ajax? 300
    • Et Tu, Cache? 309
    • Putting the X Back into Ajax 309
      • Replacing XML with JSON 314
      • Using Server-Side Scripts to Reach Third-Party Content 316
      • XHR on Slow Connections 320
      • A Larger Ajax Example: Connected Select Boxes 323
      • Optional Dynamic Ajax Menus 331
    • Summary 340
  • CHAPTER 9 Data Validation Techniques 343
    • Pros and Cons of Client-Side JavaScript Validation 343
    • A Quick Reminder About Protecting Content with JavaScript 344
    • The One-Size-Fits-All Validation Myth 345
    • Basic JavaScript Validation with String and Numeric Methods 346
      • String Validation Methods 346
      • Numeric Validation Methods 352
    • Regular Expressions 357
      • Syntax and Attributes 357
      • Wildcard Searches, Constraining Scope, and Alternatives 358
      • Restricting the Number of Characters with Quantifiers 359
      • Word Boundaries, Whitespace, and Other Shortcuts 360
      • Methods Using Regular Expressions 361
      • The Power of Parenthesis Grouping 361
      • Regular Expression Resources 363
    • Summary of Validation Methods 363
    • Form Validation Techniques 364
      • Designating Mandatory Fields 364
      • The Hidden Field Method 364
      • The Indicator Element Method 365
      • The CSS Classes Method 366
      • The Custom Attribute Method 366
      • Failures of These Methods 367
      • Sharing Validation Rules 367
    • Giving Users Validation Feedback 369
      • Showing a List of Erroneous Fields 369
      • Replacing the Main Form with a Clickable Error Message 374
      • Highlighting Erroneous Fields Individually 376
      • Instant Validation Feedback 379
    • Other Dynamic Validation Methods 381
    • Summary 385
  • CHAPTER 10 Modern JavaScript Case Study: A Dynamic Gallery 387
    • Basics of Thumbnail Galleries 387
    • What Is a Thumbnail Gallery and What Should It Do? 388
    • Static Thumbnail Galleries 388
    • Faking Dynamic Galleries with JavaScript 389
    • Displaying Captions 396
    • Dynamic Thumbnail Galleries 401
    • Creating an Image Badge From a Folder 406
    • Summary 414
  • CHAPTER 11 Using Third-Party JavaScript 415
    • What the Web Offers You 415
    • Code Snippets, RSS Feeds, APIs, and Libraries 416
      • RSS Feeds and REST APIs 417
      • Examples of REST APIs 418
    • Using a Library: Short, Shorter, jQuery 419
      • Dangers of jQuery and Other Libraries Using Their Own Syntax 426
    • Using an API: Adding a Map to Your Site with Google Maps 427
    • Full Service: The Yahoo Developer Network and User Interface Library 438
      • Bouncy Headlines Using YUI 439
      • Replacing Pop-Up Windows Using the YUI Connection Manager and Container Components 444
      • Yahoo User Interface Library Summary 449
    • Summary 450
  • APPENDIX Debugging JavaScript 451
    • Common JavaScript Mistakes 451
      • Misspellings and Case-Sensitivity Issues 451
      • Trying to Access Undefined Variables 452
      • Incorrect Number of Closing Braces and Parentheses 454
      • Concatenation Gone Wrong 456
      • Assigning Instead of Testing the Value of a Variable 458
    • Tracing Errors with alert() and Console Elements 458
    • Error Handling with try and catch() 459
    • Sequential Uncommenting 462
    • Error Reporting in Browsers 463
      • Microsoft Internet Explorer 6 463
      • Safari 464
      • Opera 8.5 466
      • Firefox 1.5.0.3 466
    • JSLint and JSUNIT 470
    • Summary 470
    • INDEX 471

You can get the book either in a local bookstore (from 17th of July onwards) – which is the preferable option as bookstores are great places to test before you buy, drink coffee, socialize with real human beings and meet your future partners (optional) – or on the web for example on Amazon (US, UK, DE).

Share on Mastodon (needs instance)

Share on Twitter

Newsletter

Check out the Dev Digest Newsletter I write every week for WeAreDevelopers. Latest issues:

Dev Digest 146: 🥱 React fatigue 📊 Query anything with SQL 🧠 AI News

Why it may not be needed to learn React, why Deepfake masks will be a big problem and your spirit animal in body fat! 

Dev Digest 147: Free Copilot! Panel: AI and devs! RTO is bad! Pi plays!

Free Copilot! Experts discuss what AI means for devs. Don't trust containers. Mandated RTO means brain drain. And Pi plays Pokemon!

Dev Digest 148: Behind the scenes of Dev Digest & end of the year reports.

In 50 editions of Dev Digest we gave you 2081 resources. Join us in looking back and learn about all the trends this year.

Dev Digest 149: Wordpress break, VW tracking leak, ChatGPT vs Google.

Slowly starting 2025 we look at ChatGPT vs Google, Copilot vs. Cursor and the state of AI crawlers to replace web search…

Dev Digest 150: Shifting manually to AI.

Manual coding is becoming less of a skill. How can we ensure the quality of generated code? Also, unpacking an APK can get you an AI model.

My other work: