| 1 | # jQuery
|
| 2 |
|
| 3 | > jQuery is a fast, small, and feature-rich JavaScript library.
|
| 4 |
|
| 5 | For information on how to get started and how to use jQuery, please see [jQuery's documentation](https://api.jquery.com/).
|
| 6 | For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery).
|
| 7 |
|
| 8 | If upgrading, please see the [blog post for 3.6.3](https://blog.jquery.com/2022/12/20/jquery-3-6-3-released-a-quick-selector-fix/). This includes notable differences from the previous version and a more readable changelog.
|
| 9 |
|
| 10 | ## Including jQuery
|
| 11 |
|
| 12 | Below are some of the most common ways to include jQuery.
|
| 13 |
|
| 14 | ### Browser
|
| 15 |
|
| 16 | #### Script tag
|
| 17 |
|
| 18 | ```html
|
| 19 | <script src="https://code.jquery.com/jquery-3.6.3.min.js"></script>
|
| 20 | ```
|
| 21 |
|
| 22 | #### Webpack / Browserify / Babel
|
| 23 |
|
| 24 | There are several ways to use [Webpack](https://webpack.js.org/), [Browserify](http://browserify.org/) or [Babel](https://babeljs.io/). For more information on using these tools, please refer to the corresponding project's documentation. In the script, including jQuery will usually look like this:
|
| 25 |
|
| 26 | ```js
|
| 27 | import $ from "jquery";
|
| 28 | ```
|
| 29 |
|
| 30 | If you need to use jQuery in a file that's not an ECMAScript module, you can use the CommonJS syntax:
|
| 31 |
|
| 32 | ```js
|
| 33 | var $ = require( "jquery" );
|
| 34 | ```
|
| 35 |
|
| 36 | #### AMD (Asynchronous Module Definition)
|
| 37 |
|
| 38 | AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](https://requirejs.org/docs/whyamd.html).
|
| 39 |
|
| 40 | ```js
|
| 41 | define( [ "jquery" ], function( $ ) {
|
| 42 |
|
| 43 | } );
|
| 44 | ```
|
| 45 |
|
| 46 | ### Node
|
| 47 |
|
| 48 | To include jQuery in [Node](https://nodejs.org/), first install with npm.
|
| 49 |
|
| 50 | ```sh
|
| 51 | npm install jquery
|
| 52 | ```
|
| 53 |
|
| 54 | For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/jsdom/jsdom). This can be useful for testing purposes.
|
| 55 |
|
| 56 | ```js
|
| 57 | const { JSDOM } = require( "jsdom" );
|
| 58 | const { window } = new JSDOM( "" );
|
| 59 | const $ = require( "jquery" )( window );
|
| 60 | ```
|