JQuery
[Wikipedia|▼Menu]

jQuery開発元jQueryチーム
初版2006年8月26日(14年前) (2006-08-26)
最新版3.5.1 / 2020年5月4日(4か月前) (2020-05-04)
リポジトリgithub.com/jquery/jquery
プログラミング言語JavaScript
サポート状況開発中
種別Webアプリケーションフレームワーク
ライセンスMIT License[1]
公式サイトjquery.com
テンプレートを表示

jQuery(ジェイクエリー)は、ウェブブラウザ用のJavaScriptコードをより容易に記述できるようにするために設計されたJavaScriptライブラリである。ジョン・レシグが、2006年1月に開催された BarCamp NYC でリリースした。様々な場面で活用されており、JavaScriptライブラリのデファクトスタンダードと呼ぶ者もいる[2]。ロゴの下に表記されているキャッチコピーは「write less, do more」(「少ない記述で、もっと多くのことをする」の意)。目次

1 機能・特徴

2 $関数

3 ロード方法

4 使用法

5 採用

6 リリース履歴

7 関連項目

8 脚注・出典

9 参考文献

10 外部リンク

機能・特徴

jQueryには次のような機能・特徴がある。

ブラウザに依存しないオープンソースのセレクタエンジン ⇒
Sizzle を使ったDOMエレメントの選択(Sizzle は jQuery プロジェクトからスピンアウト)[3]

DOM操作と変更(CSS 1-3 と基本的なXPathのサポートを含む)

イベント

CSS操作

エフェクトとアニメーション

Ajax

ユーティリティ - ブラウザのバージョン取得、each関数など

拡張性 - ⇒jQuery プラグイン

$関数

jQueryのコードで重要なコンセプトの1つは、いわゆる '$' 関数である。'$' は実際には 'jQuery' 名前空間での別名 (alias) である。

例 1: jQuery は文字列のトリミングのための関数を提供している。この関数は次のように使用できる。str = " foo ";jQuery.trim(str); // "foo" を返す

あるいは、次のように使うこともできる。str = " foo ";$.trim(str);

これらは等価である。'$' を 'jQuery' の代わりに使うことはアドホックな規約であり、jQueryライブラリへの手っ取り早いアクセス方法と見なすことができる。

例 2: クラス 'foo' を持つ全てのパラグラフを選択し、別のクラス 'bar' をそれら全てに追加する。$("p.foo").addClass("bar");

例 3: ページのDOM木が構築された直後に関数 'myfunc' を実行する(jQueryの用語では ready handler と呼ぶ)。$(function() { myfunc();});

これは例えば次のような形で使用する。$(function() { // CSSクラス oddStripe と evenStripe を使って文書内の全テーブルをストライプにする。 $('tr:odd').addClass("oddStripe"); $('tr:even').addClass("evenStripe");});
ロード方法

jQueryは通常単一のJavaScriptファイルとして存在し、その中に全ての共通DOM、イベント、エフェクト、Ajax関数が含まれている。次のようなマークアップを使って、任意のWebページにこれを含めることができる。<script type="text/javascript" src="/path/to/jQuery.js"></script>

jQueryの最新安定版は、Google、Microsoft、EdgeCastなどの運用するCDNを使ってロードすることもできる。この方法では、Web上での広汎な利用におけるレイテンシの改善といったCDNの利点を享受でき、自身でコピーをホストする必要も無くなる。

CDNからのロード方法は次のように、単にCDN上のURLを指定すればよい。<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

また、Google AJAX Libraries APIでは次のような記述も利用できる[4]。<script type="text/javascript" src="http://www.google.com/jsapi"></script><script type="text/javascript">google.load("jquery", "1.8");</script>
使用法

jQueryには2種類のインタラクションがある。

jQueryオブジェクトの
ファクトリメソッドである $ 関数を使う。これらの関数は「コマンド」とも呼ばれ、連鎖可能であり、それぞれがjQueryオブジェクトを返す。

$.をプレフィックスとする関数を使う。これらは「ユーティリティ関数」であり、本来jQueryオブジェクト上で動作しない。

複数のDOMノードの操作をする典型的ワークフローは、まず $ 関数をCSSセレクタ文字列を伴って呼び出し、HTMLページ内の0個以上のエレメントを参照するjQueryオブジェクトを返す。このノード群はjQueryオブジェクトまたはノード群自体にインスタンスメソッドを適用することで操作できる。例えば、$("div.test").add("p.quote").addClass("blue").slideDown("slow");

このコードは、divタグのクラス属性がtestのものとpタグのクラス属性がquoteのもの全てについて、クラス属性blueを追加し、それらをアニメーション付きでスライドダウンさせる。$およびadd関数は一致する集合を決め、addClassとslideDownは参照しているノード群に作用する。

$.が前置されたメソッドは簡便なメソッドだったり、グローバルな属性や振る舞いに影響を与える。例えば、次の例はjQueryにおける高階関数であるeachを使っている。$.each([1,2,3], function() { document.write(this + 1);});

この場合、文書に 234 を書く。

$.ajaxとリモートデータのロードと操作に対応するメソッドを使ってAjaxルーチンを実行することもできる。$.ajax({ type: "POST", url: "some.php", data: {name: "John", location: "Boston"}, success: function(msg){ alert( "Data Saved: " + msg ); }});

このコードはsome.phpにパラメータ name=John&location=Boston をつけて要求し、その要求が正常に完了したとき、レスポンスを表示する。
採用

マイクロソフトノキアはそれぞれ自社プラットフォームへのjQueryバンドルを計画していると発表した[5]。マイクロソフトは手始めに Visual Studio で採用[6]、ASP.NET開発チームをフルタイムでjQueryの開発に参加のうえ、jQueryを同社のASP.NETにおけるクライアント・サイド・スクリプティングの標準として採用し、同社が開発していた類似技術を全て廃止すると発表、ASP.NET AJAX および ASP.NET MVC Framework で利用する。一方ノキアは同社の Web Runtime プラットフォームに組み込む予定である。
リリース履歴

主なリリースを示す。下に行くほど古いバージョンを示している。

リリース日付バージョン番号備考
2020年4月10日
3.5.0
2019年4月10日3.4.0
2018年1月19日3.3.0古い関数の廃止、クラスを受け付ける関数において配列形式にも対応
2017年3月16日3.2.0<template>要素の内容を取り戻す対応を追加、様々な古いメソッドを廃止
2016年7月7日3.1.0Deferredモジュールのエラーハンドリング改善。
2016年6月9日3.0.0DeferredのPromises/A+互換化。カスタムセレクタの高速化。Ajax機能を含まない軽量版の提供。ES2015のfor ofループへの対応。requestAnimationFrameへの対応など。
2016年1月14日3.0.0-beta1AlphaからBetaに移行。Alpha時点で存在していた、IE8対応のjQuery compatは、Microsoft社によるIEのサポートポリシー変更に伴って開発停止。
2016年5月20日2.2.4、1.12.41系、2系の最終バージョン。
2016年1月8日2.2.0、1.12.01系、2系の機能追加はこのバージョンで終了し、今後はバグの修正のみとなる。パフォーマンスの改善、SVGクラスの操作等の新機能追加。
2014年1月24日2.1.0、1.11.0
2013年4月18日2.0.0Internet Explorer 6, 7, 8 の非サポート,ファイルサイズを12%少なくしたこと等。APIは1.9との互換性を維持している。
2013年1月15日1.9 FINAL / 2.0 beta.toggle等の利用頻度の低いAPIの廃止(廃止されたAPIはjQuery Migrate Pluginとして別途提供)
2012年8月9日1.8CSSのベンダープレフィックスを自動付加、5つのモジュールに分割、アニメーション処理刷新、Sizzle(セレクター解析エンジン)再構築、XSS対策強化、ソフトウェアライセンスの単一化
2011年11月3日1.7.bind(), .delegate(), .live()等の一部APIの統合、新規APIの追加、一部API連携の改善、IEでの不具合/仕様の対応
2011年5月3日1.6パフォーマンス改善、.attr(), .val()の拡張、アニメーション処理の改善
2011年1月31日1.5Ajax関連モジュールのコード刷新、settingに新規プロパティを追加、Deferredオブジェクト追加、一部APIのパフォーマンス改善
2010年1月14日1.4大幅なパフォーマンス/実行速度改善
2009年1月14日1.3Sizzle Selector Engine がコアに導入された。
2007年9月10日1.2
2007年1月14日1.1
2006年8月26日1.0最初の安定版
2006年6月30日1.0aα版

関連項目

Ajax

AngularJS

Backbone.js

KnockoutJS

MooTools

MontageJS

Prototype JavaScript Framework

Raphael (JavaScriptライブラリ)

Vue.js

WinJS

脚注・出典

[脚注の使い方]
^ バージョン1.8以降から ⇒シングルライセンス化。1.7.2まではMIT LicenseGNU GPLバージョン2のデュアルライセンス


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:27 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef