jQueryプロジェクトは5年前にJohn Resigの発明品として始まった。もともとはクロスブラウザでDOMのトラバースと操作を行うために設計されたものだが、現在のjQuery 1.4.2では、JavaScriptのコーディングをより簡単にする多くのツールも付け加えられている。BuiltWithの利用統計によれば、このオープンソースのJavaScriptプロジェクトは、上位10000ウェブサイトのうち30%以上で利用されている。
jQuery APIはシンプルかつ直感的であることを意図して作られている。ここには、以下の機能が含まれている。
jQueryフレームワークはDOMエレメントを取得して操作するのに、シンプルなセレクタを使用する。一度DOM内のエレメントが取得されれば、それはjQueryのオブジェクトとなり、どんなライブラリメソッドでも呼び出す事ができる。また、jQueryフレームワークでは、複雑なセレクタも使用できる。つまり親子関係のあるエレメント、属性やフィルタなどである。
トラバース(つまり、DOMエレメント間の遷移)APIには、既に選択されたエレメントの一覧をフィルタリングするような応用的なメソッドも含まれている。たとえば、filter()、is()、not()、slice()などである。
その他のトラバースAPIは、他のエレメントとの関係に基づいて特定のエレメントを探し出すために使用される(idやクラスセレクタを使うのではないもの)。これもchildren()、find()、contents()、next()、parent()、siblings()、といったメソッドによって容易に実現される。
一度DOMエレメントが選択されれば(既にあるものを選択しても新規に生成しても)、jQueryの操作機能が使えるようになる。この機能には以下のものがある。
- ドキュメント内にエレメントを挿入する
- インナーHTMLもしくはインナーテキストの設定、他のエレメントの開始時、終了時、前後、あるいは内部にコンテントを挿入する
- マッチしたエレメントを置き換える
- エレメントを削除する
- エレメントのクローンを生成する
CSSコンポーネントが提供するのは、他のエレメントないしエレメントのコレクションからCSSプロパティにアクセスするためのツールである。このタイプのツールとしては他に、width()やheight()メソッドや、特定のエレメントの相対的なオフセットを取得するoffset()メソッドがある。
jQueryフレームワークは、イベントと共に用いられるクロスブラウザの実装も提供している。カスタムイベントを定義し、そのイベントを引き起こすメソッドが、標準DOMイベントとバインドするメソッドと合わせて準備されている。jQueryフレームワークは、さらに広い範囲に渡るイベントヘルパも提供する。これは標準DOMイベントをjQueryの機能でラップするものである。この機能は、特定のエレメントにおけるクリックのようなものに対する反応が、最小限のコードで実現でき、かつ、ブラウザを検出する必要がなくなることを意図したものだ。
jQueryのAjax APIには、リモートページやデータ、スクリプトをGETやPOSTリクエストを用いてロードするメソッドや、JSONデータへのシンプルなアクセサ、success、complete、start、stop、errorといったイベントを扱うための方法となるカスタムAJAXイベントがある。
jQueryフレームワークに関しては、さらなるドキュメントやチュートリアルが入手できる。また、入門編("getting started")や応用的なプラグインについても紹介されている。