The Complete jQuery Course: From Beginner To Advanced!
4.5 (2,105 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
15,534 students enrolled

The Complete jQuery Course: From Beginner To Advanced!

Use jQuery to create stunning animations, provide fast feedback forms, handle all user events and perform Ajax calls.
4.5 (2,105 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
15,534 students enrolled
Last updated 6/2018
English [Auto], Indonesian [Auto], 4 more
  • Italian [Auto]
  • Polish [Auto]
  • Romanian [Auto]
  • Thai [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6 hours on-demand video
  • 1 article
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Add beautiful effects & animations to your sites
  • Use AJAX to add content a the page dynamically from APIs like Flickr and TheMovieDB
  • Create dynamic websites that users enjoy
  • Handle arbitrary user events such as mouse clicks and keyboard presses
  • Add fast feedback and validation for forms using jQuery
  • Manipulate the appearance and content of any element on the page
Course content
Expand all 51 lectures 06:04:59
+ Introduction
6 lectures 21:47
How To Use This Course To Gain Its Maximum Benefits & Learn jQuery Quickly

JavaScript is the most popular programming language for client-side web development and crucially important for any programmer really - even if you're not directly a web developer. It allows you to add dynamic behavior to your website and fetch information from external sources and APIs.

jQuery is the most popular JavaScript framework used by all major companies like Yahoo, Amazon, Pinterest as well as more than half of all websites on the internet altogether! jQuery is a skill you need for many jobs today, not only as a web developer. Take a step ahead and learn jQuery from the ground up!

jQuery 1.12 and jQuery 2.1 are functionally the same but the jQuery 2.1 is smaller (saving file size) by abondoning support for IE 6, 7, and 8. In this course, you'll use jQuery 1.12 in its minified form (again, saving file size).

Preview 08:56

What is a framework?

  1. Yahoo! User Interface Library (YUI)
  2. Dojo Toolkit: Aimed at enterprise-scale development and experienced programmers
  3. Mootools: Targets animations and effects in particular
  4. Underscore.js: More lightweight but without visual effects, DOM manipulation or Ajax.

Advantages of jQuery: huge developer base (you find answers to any questions online), relatively small file size (~80k), friendly API using a lot of knowledge from CSS, used by Amazon, Microsoft, Craigslist, MSN, Pinterest, ...

Preview 04:06

This lecture guides you through the installation of a text editor you can use to write your JavaScript / jQuery code. The editor used in the course is Sublime Text 3 which you can download for free, but you can also use another editor (or IDE) that you're familiar with if you want to.

Setting Up The Editor

This course comes with accompanying code on GitHub for you to check out and compare with.

Code is Accessible on GitHub
+ Effects – Animations
10 lectures 01:03:00

You can add jQuery to your project using the HTML <script> tag and referencing the official jQuery CDN (Content Delivery Network) as the source. That's all you need, you can now use jQuery in any JavaScript scripts on your site.

All jQuery code is normally wrapped inside the document.ready(function() {...}) function, which can be abbreviated as $(function() {...}). This makes all the scripts execute only once the page is loaded and all the DOM elements are ready to be worked on. Inside the function you pass into the document.ready() function, you can define all your code to execute.

Setting Up The jQuery Project

Learn to fade DOM elements in and out by using jQuery's fadeIn() and fadeOut() functions. A parameter can be used to define the animation duration in milliseconds, the default is 400 (=0.4 seconds). A second parameter can be used to define a function that is executed once the animation has completed.

Fading in an element means that the element's opacity will gradually increase over the specified duration until its full opacity is reached. Fading out of course does the opposite and increases the transparency of the elements until it's completely invisible.

Preview 13:16

The fadeIn() and fadeOut() functions will also change the CSS "display" property, meaning that fadeOut() will set "display: none" after the element is completely faded out and fadeIn() will first restore the "display" property to its original value before fading the element back in.

In contrast, when using fadeTo(), only the CSS "opacity" property will be changed. This means that elements will not realign as if the element wasn't there which may be preferable in same cases.

But be aware then after using fadeOut(), fadeTo() will not be enough to make the element reappear! You need to also restore the "display" property to "block" for example.

A Pitfall With fadeIn/fadeOut vs. fadeTo

With the show() and hide() functions provided by jQuery, you can easily make elements hidden or visible. By providing a duration as the first parameter, these two functions will again define an animation.

Most commonly though, you'll call show() and hide() without parameters to hide or show elements right when the page first loads.

Showing And Hiding Elements

You can use slideUp() to make elements disappear via a sliding animation and slideDown() to make them appear again. Just like with fadeIn() and fadeOut(), you can specify the duration in milliseconds as the first parameter.

And again, jQuery also provides a slideToggle() function which will apply the correct animation depending on whether the element is currently shown or not. This means that a hidden element will be shown using slideDown() while a shown element will be hidden using slideUp().

Sliding Elements Up And Down

You can make elements move around on the page, meaning you can change their position, using a simple custom animation. To create a custom animation, you use the animate() function. By changing the margins of an element, you can make it appear to be moving.

As the first parameter, you pass in an object defining all CSS properties to be animated and their target value. Then you can also define a duration again as the second parameter. In the next lecture, you'll learn how to create more advanced custom animations with jQuery.

Moving Elements

Using the animate() function, you can manipulate nearly all CSS properties -- simultaneously. This allows for quite advanced custom animations without a lot of code. You can for example change an element's size, margins, and padding at the same time.

What you can not animate are colors because jQuery cannot transition between the current and the target color.

Get Creative: Custom Animations!

Delaying animations in jQuery is really easy, just call the .delay() function and pass in the duration in milliseconds you want to delay the following animation.

You can make your code more readable and more concise by using chaining. Chaining means you can directly call the next function on the object returned from a previous call because it will return the originally selected elements. For example, you can write $("header").delay(500).slideUp() which uses chaining to call delay() and then slideUp without writing the selector $("header") again.

Delaying and Chaining Animations

All of jQuery's animation functions, such as fadeIn(), slideDown(), and animate() allow you to specify a callback function as the last parameter. That function will then be called once the animation has finished. 

One usage of this is timing animation to be executed one after another, which is exactly what you'll do in this lecture.

Timing Animations Using Callback Functions

Create a simple lightbox that fades in nicely using jQuery animations. This lecture demonstrates a real-world application of jQuery's animations. Inside such a lightbox, you could highlight images or ask your visitors to sign up for your email list.

Coding Activity: Creating a Signup Lightbox!
+ Element Selectors
3 lectures 27:30

jQuery makes it really easy to select elements on the page by relying on your existing CSS knowledge. You can simply use $("<css-selector>") to select one or more elements via a CSS selector. Inside the string, you use "#" for selection by ID and "." for selection by class -- just like in CSS. Also, you can separate multiple selector by comma. Just try out different CSS selectors inside the string and see what jQuery gives you. 

Additionally, jQuery also provides various convenience selectors which are prefixed by a colon (":") such as $(":header") to retrieve all heading elements on the page (<h1> to <h6>).

Preview 10:22

Once you have a set of matched elements by using a CSS selector, you can further traverse the DOM tree to find the element you're looking for. Traversal function in jQuery include the following:

  • find() to retrieve all descendant elements
  • children() to retrieve only direct child elements
  • prev() to retrieve the previous sibling element
  • next() to retrieve the next sibling element
  • parent() to retrieve the unique parent
  • siblings() to retrieve all sibling elements

To restrict the elements selected during traversal, you can pass in selectors again. For example, $(":header").next("p") to find only paragraphs which follow directly after a heading.

jQuery Methods for Traversal

In addition to traversal, you can also filter out elements from an existing match by using filter functions. This allows you to restrict a broad match to the specific elements you're looking for. The associated jQuery functions are the following:

  • filter() to define positive conditions each element has to fulfill
  • first() to get the first element from the selection
  • last() to get the last element from the selection
  • eq() to get an element from a specific position (can also take in negative numbers to start from back)
  • not() to define negative conditions each element has to fulfill

The filter() and not() functions are the most powerful and most flexible of course, but oftentimes first(), last() or eq() are exactly what you need and are very convenient to use. Note that each of these will reduce the number of matched elements to 1. In contrast, filter() and not() may reduce the number of matched elements by any amount.

jQuery Methods for Filtering
+ Manipulating the DOM I – Inserting, Replacing and Removing Elements
6 lectures 59:08

The Document Object Model (DOM) standardizes the way XML and HTML documents are represented as objects. In this course, we're only interested in the HTML DOM which defines how your HTML pages will be represented internally in your browser.

JavaScript, and thus jQuery, rely on the DOM to know how to work with each HTML element. The DOM defines which properties each element has, which event handlers can be associated with it, how it can be accessed and modified. So in reality, when manipulating your site via JavaScript or jQuery, you working on the DOM -- but you can also imagine you're just manipulating the HTML itself in most cases.

What is the DOM?

How to add a new element in jQuery? There are various functions available in jQuery to add a elements to the page. This lecture covers all of the following:

  • after() to add an element as the next sibling
  • before() to add an element as the previous sibling
  • append() to add an element as the last child
  • prepend() to add an element as the first child
  • appendTo() same effect as append() but with other syntax
  • prependTo() same effect as prepend() but with other syntax

Check out the lecture resources for a table overview of mappings between the different variants of each function.

Adding New Elements to the DOM

How to replace an element in jQuery? Just use the replaceWith() or the replaceAll() function. This lecture covers how to use both of them.

The difference between them is essentially the same as with prepend() and prependTo() for example from the previous lecture. Using replaceWith(), you put the element which will be replaced to the front, with replaceAll() you pass in it as the parameter.

The lecture covers multiple examples to get you familiar with the replacing elements in jQuery.

Replacing Elements and Content

To remove elements from the page in jQuery, you can use one of the following functions:

  • remove() to completely remove the element(s) from the page along with their associated data and event handlers
  • detach() to remove the element(s) from the page but make jQuery remember their associated data and event handlers; this is useful if you want to reattach the element(s) to the page again later.
  • empty() to remove everything inside an element, including its children and text content.

This lecture teaches you in more detail how and when to use which of these three variants.

Removing Elements and Content

At this point, you know how to add, replace, and remove elements as a whole. But what about just an element's attributes? This lecture will give you all the tools to manipulate those as well. The functions covered here are:

  • attr() to get and set element attributes
  • prop() to get and set boolean properties such as "checked", "selected", and "required"
  • val() to get the value of form input fields

With this, you'll be able to create awesome image galleries and more by dynamically changing attribute values, such as the src attribute of an image tag.

Manipulating Attributes and Properties

Time for a coding activity! Create a stunning image gallery that nicely transitions between each image. You'll do this by combining what you learned about jQuery animations and DOM manipulations so far throughout this course.

By following along such coding activities and really putting into practice what you learned, you're gonna learn best to apply your knowledge in real-world projects.

Coding Activity: Creating an Image Slideshow!
+ Manipulating the DOM II – Changing Element Data and CSS
4 lectures 27:21

Setting CSS properties using jQuery is really simple using the css() function. It allows you to retrieve the current value of a CSS property if you specify only one parameter (the name of the CSS property) or to set a new value by adding that as a second parameter. For example:

var currentValue = $("p").css("font-size");
$("p").css("font-size", "20px");

Changing the CSS Properties of Elements

To apply multiple CSS styles at once, I recommend you put them into a CSS class and then add that class to the element via jQuery instead of calling the css() function many times.

To add or remove a CSS class from an element in jQuery, you can use addClass() and removeClass() respectively. They're really easy to use, just call $("a").addClass("fancy-link"), for instance, to add the class "fancy-link" to all links on the page.

Adding or Removing CSS Classes

In jQuery, you can associate arbitrary data to any element on the page using the data() function. This allows you to then retrieve that data anytime you have a reference to that element. For instance, you could associate all available images to the image gallery DOM element so that you can always access those images from the gallery element.

To add such data, you can call $(".gallery").data("availableImages", images) for example to associate an array to the key "availableImages". In order to retrieve that data, you can then call $(".gallery").data("availableImages").

If you want to remove data from an element again, just call the removeData() function. For instance, $(".gallery").removeData("availableImages").

Changing the Data of an Element

You already know how to change elements as a whole and their attributes/properties. The only thing that's left is how to change what's between the opening and closing tag of an HTML element, like for example the text inside a <p> tag.

There are two functions in jQuery to get or set that content:

  • html() to get or set the text while considering HTML inside the content
  • text() to get or set the text without parsing any HTML (will output tags on the page)

In contrast to append(), prepend() etc., this allows you to add content without adding a new element. You only modify the actual text inside a tag.

Retrieving and Changing the Content of an Element
+ Events I ‒ Handling Mouse Events & Keyboard Events
10 lectures 01:02:13

An event is like a signal which tells you that the user performed some action on your page, like for example clicking on an element. Those events can then be handled (reacted to) by an event handlers, which is just a function that's going to be executed whenever that signal is emitted.

Event handling is used to enhance the responsiveness of your site and provide a better user experience for your visitors. Event handling in jQuery is fairly simple and you're gonna learn how to use all the most important events.

What are Events and Event Handlers?

The most commonly handled event is the click event, that is when the user clicks some element on your page. The click event can be addressed in jQuery using the click() function.

You just call the click() function on the element(s) which should react to clicks and pass in the function which will act as the event handler. For example, you can do $("#some-button").click(function(event) { ... }) to associate a click handler to the element with ID "some-button".

You can always add the event as the first function parameter and jQuery will then fill that with additional information about the event, such as where the event occurred on the page.

Adding Click Handlers

The hover event is triggered both when the user enters and leaves an element with the mouse. You can handle that event in jQuery very similar to click events, but using the hover() function instead. This lecture will guide you through the usage of the hover event in more detail.

Adding Hover Handlers

To attach different event handlers for when the mouse enters an element and when it leaves it again, you can use mouseenter() and mouseleave(). The usage is again the same as with any other event function in jQuery, so you can pass in a function as the event handler as the first parameter.

There is a shorthand for this in jQuery, which is the assign different event handlers to hover() for mouseenter and mouseleave. So that would be hover(handlerIn, handlerOut) which you can use for example like so:

$(".box").hover(function() { ... }, function { ... });

The first function defines what happens on mouseenter, whereas the second one defines the event handler for mouseleave.

Adding MouseEnter & MouseLeave Handlers

To add the same event handler function for multiple events in jQuery, you can use the on() function and pass in a space-separated list of events, like so:

$("#login").on("click keydown", function(event) { ... });

The .on() function will be important again when you learn about delegated events. For now, it's just an alternative way to attach event handlers to elements.

Adding the Same Handler for Multiple Events

Instead of using anonymous inner functions as event handlers, you should modularize your code into reusable chunks. This includes writing your function definitions for more complex functions outside of the call to event handler functions and then simply passing in a reference to them as the event handler. Thus, you don't define your function inside the .click() call for example.

Attaching a click handler would then look something like this: $("#login").click(loginUser);

Modularizing Event Handlers (No More Inline Functions)

Events with click() etc. cannot be bound to elements which are added to the page later on dynamically. Instead, the handler must be attached to an existing parent element which delegated to its children using on(). It's important that the parent element is always on the page, otherwise you have the same issue again.

To use event delegation in jQuery, you use the .on() function and, as the second parameter, you pass in a selector for the descendants to delegate to like so:

$(".parent").on("click", "li", function() { ... });

This would delegate to list item descendants and handle clicks on those list item elements.

Delegated Events

In jQuery, you can pass additional data to events by adding them to your event function call as the first parameter before defining the event handler. This first parameter then takes an object like so:

$("#element").click({ key: value, key2: value2 }, function() { ... });

Passing Additional Data to Events

It's now time for another coding activity where you're going to create an image gallery with a nice hover effect as well as a click handler that highlights an image in a lightbox.

Code along and put into practice what you've learned in this section!

Coding Activity: Creating an Image Gallery with Lightbox Preview

Most commonly, you'll handle mouse events. But you can also handle keyboard events in jQuery by using the keydown() and keyup() functions. Using these is analogous to .click() etc. but normally, you'll want to differentiate between which key was pressed.

To get the key code in jQuery, you use event.which like so:

$("html").keydown(function(event) {
    var keyCode = event.which; ...

Handling KeyDown & KeyUp Events
+ Events II ‒ Forms
5 lectures 46:10

The focus and blur events are particularly useful for form input elements such as text inputs and textarea elements.

The focus event is triggered when the user focuses the element, for instance by clicking into it or by using the tab key to jump into it. To handle the focus event in jQuery, you use the focus() function as explained in the lecture.

The blur event is the opposite and is triggered when an element loses focus, most commonly because the user went on to the next form input. In jQuery, the blur() function allows you to handle this event.

The Focus & Blur Events

jQuery's change() event is used for checkboxes, radio buttons, and select elements. It is not particularlyuseful for text input because then the event is only fired once focus is lost, meaning that you can use the blur() event instead.

But for checkboxes, radio buttons, and select elements, you'll want to use the change event which you can handle using the change() function of course.

Using the Change Event

The submit event is of course essential when talking about forms, it is triggered when the user attempts to submit the form, usually by clicking an <input type="submit">.

You can handle the submit event in jQuery using the submit() function. This allows you to perform form validation on the data you get from the user before actually sending that to the server. You'll see how to use this event in detail in this and the following lectures to create a wonderfully responsive form which validates all user input on the fly.

Handling the Submit Event

Time to get serious with the form validation! This lecture guides you through the process of how to perform form validation in jQuery when submitting a form. You will check the data in each input element and see if it fulfills your requirements for that field before sending any data to the server.

The form will also display helpful error messages to tell the user what is wrong with their input so that they can easily correct any mistakes. This will be further improved in the next lecture.

To prevent the actual form submission, you can use event.preventDefault(). This is what you want to do if something's wrong with the input.

Coding Activity: Complete Form Validation on Submit

In this lecture, you're going to further improve the form by providing fast feedback to your users: As soon as the user switches to the next input field (remember the blur() event), the input will be validated to see if anything must be corrected.

This way, the user gets fast feedback even earlier and can correct all input before even hitting submit -- an awesome way to enhance user experience and avoid any frustration for your users!

Coding Activity: Fast Feedback Form
+ Ajax with jQuery
5 lectures 49:52

With Ajax, you can fetch information from your own or an external server and then display the retrieved data on the page. The beauty of this is that there's no need to reload the page -- all data is added dynamically once the data arrives.

Many sites provide access points for such Ajax calls, called APIs. This includes YouTube, other Google services, Flickr, Pinterest and many more. In many cases, you will need an API key to get permission to perform those requests (you can get an API key for free in most cases). But there are also completely open feeds and APIs which you're going to use in this course.

Ajax stands for Asynchronous JavaScript and XML. Asynchronous means your page will stay responsive while the request is being processed by the target server and then when the data comes back, you handle that via an event handler -- for instance to show that data on the page.

What is Ajax?

To fetch a file from your own server in jQuery, the easiest way is to use the $.load() function and just specify the path to the file as a parameter:


This will load the contents of the script.js file into the #code element.

Fetching a Server File with jQuery

Flickr provides a public feed for recently uploaded photos which you can access without any API key and other credentials. So this is exactly what you'll do in this lecture to display photos from the Flickr API on your page.

With jQuery, you can use the $.getJSON() function which is also the function you will use most commonly to access such APIs (or feeds). Inside the $.getJSON() function, you specify the URL you want to access (see link in lecture resources) and an event handler which will be executed when the data comes back from the Flickr API.

Retrieving Flickr Images Through the Flickr API (+Understanding JSON)

This is another fun lecture to get you familiar with Ajax requests in jQuery to retrieve JSON data. In this lecture, you will access the completely open Pokéapi to retrieve data about Pokémon (you can also use the Star Wars API instead).

Using the Pokéapi, you'll show all 151 Pokémon from the first generation on the page. Then in the next lecture, you will even show an image of each on the page when the user clicks on one of them.

Coding Activity: Retrieving Pokémon Data from The PokéAPI (Or Star Wars)

Time to further improve the "Pokédex" from the previous lecture. Here, you will perform another JSON request anytime the user clicks on the name of one of the Pokémon on the page to retrieve further details about it.

This will further improve your understanding of Ajax with jQuery and how to handle the data you get back from an Ajax call.

Coding Activity: Improving the Pokédex
+ Conclusion
2 lectures 07:57

A short course summary and conclusion! Find out how to get your certification for this course! 

Course Summary and Conclusion! What Have We Learned In This Course?

A special bonus lecture for all of my students here in this course! 

Want More?! Watch Our Special Bonus Lecture & Continue Learning With Us Today!
  • Basic JavaScript knowledge
  • You'll need an internet connection at least once to download jQuery and to access APIs (e.g. Flickr)
  • You'll need a text editor of your choice to write the code, we'll go through the installation process for one such editor
  • No other software is required

Welcome To The Complete jQuery Course: From Beginner To Advanced! 

⇉ Watch the promo video To See How You Can Begin Using jQuery Today! 

⇉ This Course is MASSIVE! You receive over 6+ hours of video & 50+ lectures!

⇉ Join Over 275,000+ Students Who Have Enrolled In My Udemy Courses This Year!

⇉ 7,500+ Five Star Reviews on our courses prove Students Who Enrolling Are Getting Real Results!

Then this course is for you! Click "Take This Course Now" For Instant Life-Time Access!


Here Is Everything You Will Learn In Our Complete jQuery Course: 

This course covers jQuery from start to end. You'll learn the ins and outs of developing professional dynamic websites using JavaScript & jQuery. Topics included in the course include:

  • Effects & Animations: Make your site come alive with jQuery's animation utilities and enhance your the responsiveness of your design to user behavior and input. Beautify your site with elegant animations, e.g. fading in elements, sliding in submenus and highlighting selected elements.
  • DOM Manipulation: Change the contents and appearance of any element in the DOM, even dynamically added ones. Select any element with ease and modify its CSS styles, positioning, content text, image src, or whatever you can think of.
  • Learn AJAX: Discover how to fetch and add content to your page dynamically without reloading. Fetch images from Flickr, movies from TheMovieDB and display all using jQuery's user-friendly syntax.
  • Event Handling: Learn how to handle any user input events, including mouse clicks and keyboard input. Use keyboard input to create a simple game with a main player moving around using the arrow keys.
  • Form Validation: Create a fast-feedback form that notifies your users of incorrectly formatted input before even submitting the form. Additionally, perform basic validation checking with jQuery before sending the form data to the server.

Inside the course, you'll not only have life-long access to all the lectures but also to us. We'll be there to personally answer all your questions and help you get the most out of this course. Also, you can always let us know any suggestions and wishes you have to improve the course. Additionally, we'll include all the resources you need to fully follow along, including the project code, configurations, presentation slides etc.

The ideal student for this course should have a basic understanding of HTML & CSS, though we'll briefly recap CSS selectors (which are really important in jQuery). A basic understanding of JavaScript or another programming language is beneficial but not required, we'll briefly talk about JavaScript and other JavaScript frameworks before finally diving into jQuery.

The course is structured in a way that you will get hands-on experience as fast as possible. Still, we'll be covering some general concepts about JavaScript, jQuery and other frameworks as well. However, we want you to get your hands dirty -- because the only way to actually learn a programming language (or a framework) is to really get into the code yourself!

You should definitely take this course if you can identify with one of the following:

  1. I know HTML & CSS and want to expand my knowledge to work as a web developer.
  2. I'm a web developer with knowledge about JavaScript and want to learn jQuery to speed up my development and introduce fewer bugs.
  3. I'm a student interested in web design & web development and want to learn to create awesome & beautiful sites in less time

There may be many more reasons to take this course. In any case, jQuery will increase your productivity with JavaScript significantly and enable you to create more sophisticated functionality with minimum work.


With the right mindset, understanding, and application of the teachings in this course, you will instantly begin to move towards mastering jQuery in no time! 

When we learn something new, I add it to the course - at no additional cost to you! This is a course that will continue to add more and more to every aspect of your life.

In addition to the Udemy 30-day money back guarantee, you have my personal guarantee that you will love what you learn in this course. If you ever have any questions please feel free to message us directly and we will do our best to get back to you as soon as possible!


What I can't do in this Course..

I can't guarantee your success – this course does take work on your part. But You Can Do It!

I am also not responsible for your actions. You are responsible for 100% of the decisions and actions you make while using this course.


This course will not remain this price forever! It's time to take action!

Click the "take this course" button at the top right now!

...every hour you delay is costing you money...

See you in the course!


Joe Parys & Peter Sommerhoff

Who this course is for:
  • You should have basic knowledge of HTML & CSS
  • Basic knowledge of JavaScript or another programming language is beneficial
  • You don't need any experience with jQuery or another JavaScript framework at all
  • This course is for you if you just want to learn jQuery from scratch or if you want to speed up your JS development