Skip to content

ZoharLiran/miniQuery

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

miniQuery challenge

##Learning Competencies

  • Create modular code in Javascript.
  • Implement css selector library in Javascript.
  • Implement DOM manipulation library in Javascript.
  • Implement event dispatch library in Javascript.
  • Implement http requests library in Javascript.
  • Understand and reimplement jQuery as a toolbelt that collects various libraries.

##Summary jQuery is a very popular Javascript toolbelt. It is a collection of tools, each tool allows you to do a very specific job, for example:

  • Select elements with css: $('#id'), $('.class'), $('element')
  • Manipulate the DOM: .show(), .hide(), .addClass(), .removeClass(), etc.
  • Dispatch and listen for events: .trigger(...), .on(...)
  • Send http requests: $.ajax

It's important to realize that jQuery is not just one thing, it's a collection of things grouped under one framework. In fact, some parts of it could be used as standalone tools. For example, jQuery uses Sizzle under the hood as its selector engine.

In this challenge we will decompose jQuery and reimplement some of its functionality. We will start by implementing each tool on its own. Eventually, we will group everything together under one toolbelt: miniQuery. The objective is to remove the "magic" from jQuery and realize that it's nothing you couldn't write. It's also important to separate the different tools that jQuery provides you by function and to be able to identify them as separate components collected under one umbrella.

###Dive Deeper

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published