Today, every web developer should know how to use JavaScript for what it does best and jQuery for what it does best. The trouble is that traditional JavaScript books don’t take that approach. But now, this book integrates the teaching of JavaScript and jQuery so your students learn the skills that are actually used on the job (for the most recent edition, see the 4th Edition). Beyond that, this book uses a didactic approach that works for students with no programming background as well as for students who have already taken a programming course.
Your books are so good that I threw away my assigned JavaScript and jQuery book for my class and bought Murach’s JavaScript and jQuery (which has, by the way, helped restore my 4.0 GPA).”
To present the JavaScript and jQuery skills that your students need in a manageable progression, this book is divided into three sections, representing the three levels of expertise that your students will achieve with this book.
To start, we believe this is the right book for every JavaScript course because it presents the skills that are needed on the job. That of course includes jQuery skills because real-world developers don’t use JavaScript for tasks that can be done better with jQuery. For that reason alone, you can rule out JavaScript books that don’t include jQuery.
Beyond that, though, our book is designed in a way that makes it adaptable for any type of JavaScript course. For instance, here’s how our book can work for some common variations of JavaScript courses:
Because section 1 is designed for students without any programming experience, this book can be used for a first programming course. Then, after your students complete that section, you can take them as far as time permits by assigning chapters from sections 2 and 3.
When you plan your course, keep in mind that only the first chapter in the jQuery section is required. After that, you can assign the chapters in sections 2 and 3 that are most appropriate for your students and your course.
The first two sections of this book present the concepts and skills that every web designer should at least be aware of. So if your course is for web designers, you can start with section 1, which is designed to work for non-programmers.
Then, you can add chapters from the jQuery section because they show how to implement the common features of modern websites. That includes features like carousels, tabs, and slide shows, but it also includes using Ajax and JSON to get data for a web page without reloading the page.
If you still have time, you can finish the course with selected chapters from section 3. For instance, the chapter on browser objects, cookies, and web storage presents concepts that all web designers should be aware of. And the chapter on arrays presents concepts that every programmer should be aware of.
If your students have experience with another language, they should move quickly through section 1 of our book. They will find, however, that JavaScript has some intricacies that aren’t found in other languages, so they will still be challenged.
Then, you can assign all of the chapters in the jQuery section. Or, if you want your course to focus more on JavaScript than jQuery, you can assign just the first chapter in this section plus selected chapters of your own choosing. In other words, you don’t have to assign the chapters in sequence, and the only one that’s required is chapter 8.
At that point, you can start working your way through the chapters in section 3. If your students successfully complete all of them, they will reach a professional level of expertise.
To develop JavaScript applications, your students need:
Although your students can use any text editor with this book, a text editor that includes syntax coloring and auto-formatting will help them develop applications more quickly and with fewer errors. In the book, we recommend Aptana Studio 3; however, it’s no longer supported and has become hard to install.
So now, we recommend Brackets. It’s available for free, it can be used for entering JavaScript and jQuery code (as well as HTML and CSS code), and it runs on Windows, Mac OS, and Linux systems. To help your students get started with installing and using Brackets, we’ve created a Brackets tutorial that you can use in place of the Aptana material in the book. You can distribute this to your students or have them download it from the book page at our retail website.
To test a web page, your students can use the default browser on their systems. But we recommend that they also test their pages in Chrome, which includes a terrific set of developer tools. Appendix A provides a procedure for installing Chrome, and chapter 5 shows how to use Chrome for debugging.
If you like our JavaScript, and jQuery book, you may also be interested in our HTML5 and CSS3 book. This book presents a complete course in web design using HTML5 and CSS3. It starts with a crash course in the first 8 chapters...including a chapter on Responsive Web Design...that gets your students using HTML and CSS at a professional level. It is followed by four sections that can be taught in whatever sequence you think works the best.
So, if your students take an HTML and CSS course before they take the JavaScript and jQuery course, please consider our HTML5 and CSS3 book along with our JavaScript and jQuery book. These books are designed to work seamlessly in a two- or three-course sequence. Both books use our unique didactic methods so your students will learn more in less time. And ours are the only books that ensure that your students will learn the HTML5, CSS3, JavaScript, and jQuery skills that are actually used on the job.
“If you are new to web design or an old pro like me, this book is a must-have in my opinion. I love how it starts out with the basics and then moves on to the good stuff. Each chapter is full of examples and sample code showing you how to do the most common techniques that you will face as a web developer/designer.
“I have not seen a better book on the subject. This one will be on my desk for a while!”
- Jeremy Johnson; Review posted at DreamInCode.net
From Dr. Dobb’s Must-Have Books for JavaScript: “The aim of the book is to teach jQuery in an intensely hands-on way. It succeeds in this and probably provides the fastest way to learn and master the framework.”
- Andrew Binstock, Editor-in-Chief, Dr. Dobb’s
“I just finished a pretty heavy application project, the first serious work I have done with jQuery and Ajax. Along the way, I had to deal with preloading images, manipulations of the DOM, tabs, plugins, and Dialogs…. I kept this book at my side throughout the entire project, and it was indispensable. The answers were right there at every turn. All the examples made sense to me, and they all worked!”
- Alan Vogt, ETL Consultant, Information Builders, Inc.
“What I like about this and other Murach books is that within minutes of opening the book, you are developing hands-on with the technology in question.”
- Charles Zimmerman, Developer
“An essential characteristic of this book, as well as the other Murach books, is that the examples, programs, and applications are all thoroughly tested. This book will work WONDERFULLY to help you build better and more robust websites!”
- Marvin Schneider, Instructor, New York
“I have several books on JavaScript, but the best one is this one. The text, examples, descriptions, and even the layout all bring you, the learner, an ease of use that is missing in other books.”
- Chris Wallace, Denver Visual Studio User Group
To view the table of contents for this book in a PDF, just click on the link below:
The components of a web application
How static web pages are processed
How dynamic web pages are processed
How JavaScript is used for client-side processing
What you need to know about the ECMAScript specification
The HTML
The CSS
The JavaScript
How to use the HTML5 semantic elements
How to use the div and span elements
How to use the basic HTML attributes
How to provide the CSS styles for an HTML page
How to code the basic CSS selectors
How to code CSS style rules
How to run a JavaScript application
How to find errors in your code
How to provide cross-browser compatibility
How to create or import a project
How to work with files
How to edit a file
How to run a JavaScript application
Two ways to include JavaScript in the head of an HTML document
How to include JavaScript in the body of an HTML document
How to code JavaScript statements
How to create identifiers
How to use comments
The primitive data types
How to declare and assign values to variables
How to code arithmetic expressions
How to use arithmetic expressions in assignment statements
How to concatenate strings and include special characters in strings
Introduction to objects, methods, and properties
How to use the parseInt() and parseFloat() methods of the window object
How to use the write() and writeln() methods of the document object
The Miles Per Gallon application
The Test Scores application
How to use the relational operators
How to use the logical operators
How to code if statements
How to code while and do-while loops
How to code for loops
The enhanced Miles Per Gallon application
The Future Value application
The enhanced Test Scores application
How to create and use arrays
How to use for loops to work with arrays
The user interface
The JavaScript
How to use the window and document objects
How to use Textbox and Number objects
How to use Date and String objects
How to create and call a function expression
How to create and call a function declaration
When and how to use local and global variables
When and how to use strict mode
How to attach an event handler to an event
How to use an onload event handler to attach other event handlers
The Miles Per Gallon application
The Email List application
The three types of errors that can occur
Common JavaScript errors
How to plan the test runs
How to use top-down coding and testing to simplify debugging
How to use Chrome to find errors
How to use breakpoints and step through your code
How to trace the execution of your JavaScript code
How to view the source code
When and how to validate the HTML
DOM scripting concepts
The properties of the Node interface
The methods of the Document and Element interfaces
The properties of the DOM HTML specification
The HTML and CSS
The JavaScript
How forms work
How to script Textbox, Textarea, and Select objects
How to script Radio and Checkbox objects
How to use the methods and events for forms and controls
The HTML and CSS
The JavaScript
How to use the innerHTML property of the Element interface
How to view the changes to the DOM in Chrome
The HTML and CSS
The JavaScript
How to cancel the default action of an event
How to preload images
The HTML and CSS
The JavaScript
How to use a one-time timer
How to use an interval timer
The HTML and CSS
The JavaScript
What jQuery is
How jQuery can simplify JavaScript development
How to include jQuery in your web pages
How to code jQuery selectors
How to call jQuery methods
How to use jQuery event methods
The user interface and HTML
The jQuery
The most useful selectors
The most useful methods
The most useful event methods
Other event methods that you should be aware of
The FAQs application in jQuery
The Image Swap application in jQuery
The Image Rollover application in jQuery
The jQuery methods for effects
The FAQs application with jQuery effects
The user interface, HTML, and CSS
Two ways to code the jQuery
How to stop and start a slide show
How to use the basic syntax of the animate() method
How to chain animate() methods
How to use the delay(), stop(), and finish() methods
How to use easings with effects and animations
How to use the advanced animate syntax and the methods
for working with queues
The user interface, HTML, and CSS
The jQuery
How forms work
The HTML5 controls for working with forms
The HTML5 and CSS3 features for data validation
The jQuery selectors and methods for forms
The jQuery event methods for forms
The user interface and HTML
Some of the JavaScript for the application
How to find jQuery plugins
How to use any jQuery plugin
How to use the Lightbox plugin for images
How to use the bxSlider plugin for carousels
How to use the Cycle 2 plugin for slide shows
What jQuery UI is and where to get it
How to download jQuery UI
How to include jQuery UI in your web pages
How to use any jQuery UI widget
How to use the Accordion widget
How to use the Tabs widget
How to use the Button and Dialog widgets
How to use the Datepicker widget
How Ajax works
Common data formats for Ajax
The members of the XMLHttpRequest object
How to use the XMLHttpRequest object
The jQuery shorthand methods for working with Ajax
How to use the load() method to load HTML data
How to use the $.get() or $.post() method to load XML data
How to use the $.getJSON() method to load JSON data
How to send data with an Ajax request
The syntax of the $.ajax() method
How to use the $.ajax() method to load data
How to use the feed API for Flickr
How to display Flickr data on a page
How to review the feed from a website
How to display descriptions for a Flickr photo feed
How to search for photos by tags
How to use the properties and methods of the Number object
How to use the properties and methods of the Math object
How to generate a random number
The HTML
The JavaScript
How to use the properties and methods of the String object
Examples of working with strings
How to create Date objects
The methods of the Date object
Examples of working with dates
The HTML and CSS
The JavaScript
How to use the equality and identity operators
How to use the break and continue statements
How to use the switch statement
How to use the conditional operator
How to use the AND and OR operators for selections
The HTML
The JavaScript
How to use try-catch statements
How to create and throw Error objects
How to create and use regular expressions
How to match special characters and types of characters
How to match string positions, subpatterns, and repeating patterns
Regular expressions for data validation
The HTML and CSS
The JavaScript
How to use the location object
How to use the history object
The HTML
The JavaScript
An introduction to cookies
How to create cookies
How to read cookies
How to delete cookies
The HTML and CSS
The JavaScript
How to use local and session storage
The Task List application with web storage
How to view and delete cookies
How to view, edit, and delete items in web storage
How to create an array
How to add and delete array elements
How to use for loops to work with arrays
How to use for-in loops to work with arrays
Methods that accept simple parameters
Methods that accept functions as parameters
Examples of the Array methods
The user interface
The JavaScript
How to use a String method to create an array
How to create and use an associative array
How to create and use an array of arrays
The HTML
The JavaScript
How to create and use the native object types
How to create your own objects with object literals
How to extend or modify an object
How to create and use JavaScript libraries
The HTML
The JavaScript
How to create your own object types with constructor functions
What else you should know about prototypes
The HTML
The JavaScript
How to use the create() method of the Object object
The Trips application with a factory function
How to use the arguments property of a Function object
How to create cascading methods
How to inherit methods from another object
How to use the this keyword
The HTML and CSS
The task and storage libraries
The task list library
The main JavaScript file
How closures work
How to use closures to create private state
How to work with the this keyword in closures
The HTML
The slide show library
The main JavaScript file
How to code an IIFE
How to use an IIFE to solve the closure loop problem
What the module pattern is
How to augment a module and use accessor properties
The HTML
The slide show library
The slide show enhancements library
The main JavaScript file
The structure of a plugin
How to code a plugin that highlights the items in a menu
How to add options to a plugin
The HTML and the main JavaScript file
The deck and hand files of the blackjack plugin
The game file of the blackjack plugin
The main file of the blackjack plugin
How to compress and combine the files for a plugin
If you aren’t already familiar with the instructor’s materials that we provide for our books, please go to About our Courseware. As you will see, our courseware consists of the end-of-chapter activities in each book, the files in the student download at our retail site, and the instructor’s materials. These components provide everything that other publishers provide in a way that delivers better results.
If you are familiar with our instructor’s materials, here’s a quick summary of the courseware for this book. For a detailed description in PDF format, please read the Instructor’s Summary.
Appendix A in the book gives your students complete instructions for downloading and installing these items on a PC or Mac.
To view the "Frequently Asked Questions" for this book in a PDF, just click on this link: View the questions
Then, if you have any questions that aren't answered here, please email us. Thanks!
To view the corrections for this book in a PDF, just click on this link: View the corrections
Then, if you find any other errors, please email us so we can correct them in the next printing of the book. Thank you!
This is our site for college instructors. To buy Murach books, please visit our retail site.