20

latest jquery 1.4.2 downloaded from jquery.com comes with Sizzle.js also.

How and what benefit can I take from included Sizzle.js?

Is Sizzle.js a standalone library?

Why it's included inside jquery library, for what purpose?

/*!
 * jQuery JavaScript Library v1.4.2
 * http://jquery.com/
 *
 * Copyright 2010, John Resig
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * Includes Sizzle.js
 * http://sizzlejs.com/
 * Copyright 2010, The Dojo Foundation
 * Released under the MIT, BSD, and GPL Licenses.
 *
 * Date: Sat Feb 13 22:33:48 2010 -0500
 */

while this is mentioned on sizzle.js website

Completely standalone (no library dependencies)

Ripon Al Wasim
  • 36,924
  • 42
  • 155
  • 176
Jitendra Vyas
  • 148,487
  • 229
  • 573
  • 852

4 Answers4

35

Sizzle.js is a JavaScript library that implements a "CSS selector engine designed to be easily dropped in to a host library." jQuery uses it internally for its CSS selection needs. If you wanted a CSS engine and had no need for all the other JavaScript benefits of jQuery, you could use Sizzle.js separately.

Raul Agrait
  • 5,938
  • 6
  • 49
  • 72
  • 1
    Here's the relevant [jQuery 1.3 release blogpost](https://blog.jquery.com/2009/01/14/jquery-13-and-the-jquery-foundation/). The jQuery team split off the CSS selector engine and released it as "Sizzle", to quote: "a completely standalone project to be collaborated upon by many library creators and developers". – zb226 Nov 10 '15 at 12:05
15

OK, it was actually pretty unclear what sizzle.js was to me. Basically, what it does is allows you to use javascript on 'selectors', that is, classes, IDs, DOM elements, etc... So when you use this in jQuery:

$('div')

That's sizzle.js at work, making that element available to javascript.

I hope I got that all right :)

Julian K
  • 1,877
  • 2
  • 19
  • 27
5

jQuery requires sizzle in order to function. You can take the benefit of a working javascript library.

Alex Sexton
  • 10,401
  • 2
  • 29
  • 41
4

Here is the resource for that:

http://wiki.github.com/jeresig/sizzle/

Selector Features

* CSS 3 Selector support
* Full Unicode support
* Escaped selector support #id\:value
* Contains text :contains(text)
* Complex :not :not(a#id)
* Multiple :not :not(div,p)
* Not attribute value [name!=value]
* Has selector :has(div)
* Position selectors :first, :last, :even, :odd, :gt, :lt, :eq
* Easy Form selectors :input, :text, :checkbox, :file, :password, :submit, etc
* Header selector :header

Code Features

* Provides meaningful error messages for syntax problems
* Uses a single code path (no XPath)
* Uses no browser-sniffing
* Caja-compatible code
Sarfraz
  • 377,238
  • 77
  • 533
  • 578