jQueryオブジェクトを作り出す関数です.
CSSで要素を指定し,マッチした要素を持つjQueryオブジェクトを返します. 詳しい指定方法は Selectors を参照してください.
jquery 1.1 までは XPath による指定もできましたが,最新版では削除されています. XPath Compatibility Plugin を利用することで,1.2 でも XPath を利用可能です.
var $toc_1 = $("#toc_1"); jquery_dump($toc_1);
var $h1 = $("h1"); jquery_dump($h1);
var $h1head = $("h1.head"); jquery_dump($h1head);
var $ahref = $("a[@href^='http://jquery.com/']"); jquery_dump($ahref);
指定したDOM要素を持つjQueryオブジェクトを返します.
eachやコールバック関数で this をラッパする場合に利用する
使い方が多いと思います.
$(function(){ // 初期化コード $("#link").click(function(){ alert( $(this).html() ); return false; }); });
jQueryオブジェクトの現在の状態と同じDOM要素集合を持ったjQueryオブジェクトを作成します.
jQueryのスタックの最新のDOM要素集合がコピーされ,スタックの全ての状態まではコピーされません.
また,DOM要素自体のコピーもされません.
指定されたコンテキストの中で,マッチする要素を持つjQueryオブジェクトを抽出し,返します.
一部の範囲に限って検索を行いたい場合に利用できます.
この段落には class="context_header" が指定されています.
$("title",xml.reponseXML);
alert( $("br", $(".context_header")).size() );
jQueryオブジェクトは,複数のDOM要素を持つことが出来ます.0個の場合もあります. それらのDOM要素に関する操作を行うメソッド群です.
DOM要素の数を表示します.
段落
段落
段落
var $target = $("#target_jquery_size"); alert( $("p", $target).size() );
var $target = $("#target_jquery_size"); alert( $("p.header", $target).size() );
var $target = $("#target_jquery_size"); alert( $("p", $target).length );
DOM要素を配列で取得します.
段落
段落
var $target = $("#target_jquery_get"); alert( $("p", $target).get() ); alert( $("p", $target).get()[0] );
N番目のDOM要素を取得します.
段落
段落
var $target = $("#target_jquery_get_N"); alert( $("p", $target).get(0) ); alert( $("p", $target).get(1) ); alert( $("p", $target).get(2) ); // 存在しない場合は undefined が返る
N番目のDOM要素を取得します. get(N) と同じです.
段落
段落
var $target = $("#target_jquery_get_N2"); alert( $("p", $target)[0] ); alert( $("p", $target)[1] ); alert( $("p", $target)[2] ); // 存在しない場合は undefined が返る
それぞれのDOM要素に対して,指定した関数を実行します.
DOM要素がthisになって関数が実行されます.
jQueryオブジェクトとして扱いたい場合は,$(this)とラッパする必要があります.
段落1
段落2
var $target = $("#target_jquery_each"); $("p", $target).each(function(){ alert( this ); });
var $target = $("#target_jquery_each"); $("p", $target).each(function(){ alert( $(this).html() ); });
イベントの設定を行います.
HTMLでの onclick / onfocus 等と同様のことを,JavaScript側から設定することが出来ます.
ここではコアのイベント機能について説明しますが,拡張イベントというものがあり,
イベントをより簡単に設定したり,マウスオーバー等の支援機能があります.
bind/unbindの代わりに,拡張イベントを使用することをお勧めします.
対象オブジェクトに関して,指定したイベントが発生した際に, 関数を呼び出すように設定します.
対象オブジェクトに関して,イベントとの結びつけを解除します.
関数を指定しなかった場合は,全ての関数との結びつけが解除されます.
対象オブジェクトに,指定したイベントを発生させます.
DOM要素の属性を操作します.
キーのみを指定した場合は取得,キー,値での指定や,ハッシュで指定した場合は,
それらの設定値で上書きします.
removeAttr() の場合は,指定した属性を削除します.
取得の場合は,最初のDOM要素が対象となります.
値を設定する場合は,全てのDOM要素が対象となります.
段落
段落
var $target = $("#target_dom_attr"); var $p = $("p", $target); alert( $p.attr("class") ); // 最初の要素が対象 alert( $target.html() ); $p.attr("class", "danraku3"); // 全ての要素が対象 alert( $target.html() ); $p.removeAttr("class"); alert( $target.html() );
対象のDOM要素に,指定したクラスを追加・削除,もしくはトグルします.
段落
段落
var $target = $("#target_dom_class"); var $p = $("p", $target); $p.addClass("addclass"); alert( $target.html() ); $p.toggleClass("danraku1"); alert( $target.html() );
全てのDOM要素のテキストコンテンツをつなぎ合わせた文字列を返します.
段落内テキスト
段落後テキストvar $target = $("#target_dom_text"); alert( $target.text() ); alert( $target.html() );
jQueryオブジェクトは複数のDOM要素を持ちますが,DOM操作を行う場合,
操作対象が場合によって異なることに注意してください.
参照の場合は最初のDOM要素,設定・書き換えの場合は全てのDOM要素が対象になります.
DOM要素をHTMLで取得,もしくは指定したHTMLに差し替えます.
この段落は <p id="target_ref_dom_html"> です.
alert( $("#target_ref_dom_html").html() );
$("#target_ref_dom_html").html("段落の内容を書き換えます.");
DOM要素の value 属性の内容を取得・設定します.
属性の取得・設定を行います.
対象のDOM要素を削除します.
この段落は,<p id="target_ref_dom_remove">です.
$("#target_ref_dom_remove").remove();
対象のDOM要素の子要素を全て削除します.
DOM要素自体は残ります.
html() で中身を代入する際などに,いったんクリアしたい場合に利用できます.
この段落は,<p id="target_ref_dom_empty">です.
$("#target_ref_dom_empty").empty();
対象のDOM要素の子要素の末尾に,指定されたものを追加します.
この段落は,<p id="target_ref_dom_append">です.
$("#target_ref_dom_append").append("[[append]]");
対象のDOM要素の子要素の先頭に,指定されたものを追加します.
この段落は,<p id="target_ref_dom_prepend">です.
$("#target_ref_dom_prepend").prepend("[[prepend]]");
対象のDOM要素を,CSS指定で指定された要素の子要素の末尾に移動します.
この段落は,<p id="target_ref_dom_appendto">です.
この段落は,<p id="target_ref_dom_appendto2">です.
$("#target_ref_dom_appendto").appendTo("#target_ref_dom_appendto2");
clone()を利用することでコピーすることも出来ます.
この段落は,<p id="target_ref_dom_appendto_copy">です.
この段落は,<p id="target_ref_dom_appendto_copy2">です.
$("#target_ref_dom_appendto_copy").clone() .appendTo("#target_ref_dom_appendto_copy2");
対象のDOM要素を,CSS指定で指定された要素の子要素の先頭に移動します.
この段落は,<p id="target_ref_dom_prependto">です.
この段落は,<p id="target_ref_dom_prependto2">です.
$("#target_ref_dom_prependto").prependTo("#target_ref_dom_prependto2");
clone()を利用することでコピーすることも出来ます.
この段落は,<p id="target_ref_dom_prependto_copy">です.
この段落は,<p id="target_ref_dom_prependto_copy2">です.
$("#target_ref_dom_prependto_copy").clone() .prependTo("#target_ref_dom_prependto_copy2");
対象のDOM要素の手前に,指定されたものを追加します.
この段落は,<p id="target_ref_dom_before">です.
$("#target_ref_dom_before").before("[[before]]");
対象のDOM要素の後に,指定されたものを追加します.
この段落は,<p id="target_ref_dom_after">です.
$("#target_ref_dom_after").after("[[after]]");
対象のDOM要素を,CSS指定で指定された要素の手前に移動します.
この段落は,<p id="target_ref_dom_insertBefore1">です.
この段落は,<p id="target_ref_dom_insertBefore2">です.
$("#target_ref_dom_insertBefore2").insertBefore("#target_ref_dom_insertBefore1");
clone()を利用することでコピーすることも出来ます.
この段落は,<p id="target_ref_dom_insertBefore_copy">です.
この段落は,<p id="target_ref_dom_insertBefore_copy2">です.
$("#target_ref_dom_insertBefore_copy").clone() .insertBefore("#target_ref_dom_insertBefore_copy2");
対象のDOM要素を,CSS指定で指定された要素の後に移動します.
この段落は,<p id="target_ref_dom_insertAfter">です.
この段落は,<p id="target_ref_dom_insertAfter2">です.
$("#target_ref_dom_insertAfter").insertAfter("#target_ref_dom_insertAfter2");
clone()を利用することでコピーすることも出来ます.
この段落は,<p id="target_ref_dom_insertAfter_copy">です.
この段落は,<p id="target_ref_dom_insertAfter_copy2">です.
$("#target_ref_dom_insertAfter_copy").clone() .insertAfter("#target_ref_dom_insertAfter_copy2");
対象のDOM要素を複製します.
appendTo/prependTo/insertBefore/insertAfter などのメソッドと組み合わせて使用します.
サンプルはそれぞれのメソッドを参照してください.
対象のDOM要素の外側に,指定したHTML・DOM要素を挿入します.
この段落は,<p id="target_ref_dom_wrap">です.
$("#target_ref_dom_wrap").wrap("<p class='dotted'></p>");
指定した要素だけをremove()するものと思いますが,使い方がよくわかりません...
jQueryオブジェクトが持つDOM要素を操作するメソッド群です.
jQueryオブジェクトはDOM要素の集合をスタックで持っており,
多くのメソッドは呼び出し時の状態をスタックに保存した上で,
操作を行います.
スタックを1つ前の段階に戻すには,end() メソッドを利用します.
filter() 等によって変更したオブジェクトの状態を1つ前の状態に戻します.
段落1
段落2
段落3
var $target = $("#target_ref_jquery_end"); var $p = $("p", $target); jquery_dump($p); // 全ての p タグが返されます. jquery_dump($p.filter(".header")); // class="header" 以外のオブジェクトを削除します. jquery_dump($p.filter(".header").end()); // 元の状態に戻ります.
DOM要素の集合を,指定したCSS指定で更に絞り込みます.
文字列の配列で指定した場合,いずれかにマッチするものに絞り込みます.
段落1
段落2
段落3
var $target = $("#target_ref_jquery_filter"); var $p = $("p", $target); jquery_dump($p); // 全ての p タグが返されます. jquery_dump($p.filter(".header")); // class="header" 以外のオブジェクトを削除します.
filter() の否定版です.
CSS指定で指定されたもの,もしくは指定されたDOM要素を取り除きます.
段落
段落
段落
var $target = $("#target_ref_jquery_not"); var $p = $("p", $target); jquery_dump($p); // 全ての p タグが返されます. jquery_dump($p.not(".header")); // class="header" ではないオブジェクトを削除します.
DOM要素の集合に含まれる子要素から,指定したCSS指定にマッチするものを抽出します.
var $target = $("#target_ref_jquery_find"); var $ul = $("ul", $target); jquery_dump($ul); jquery_dump($ul.find("li"));
next() は,DOM要素のそれぞれの集合に対して,その要素の次にある要素に置き換えます.
次の要素がない場合は,その要素は削除されます.
next("CSS文字列") の場合,next().filter("CSS文字列") と同様の動作になります.
ただし,end() 1回で元の状態に戻ります.
prev() / prev("CSS文字列") は next() と異なり,その要素の前の要素に置き換えます.
段落1
段落2
var $target = $("#target_ref_jquery_next"); var $ulnext = $("ul", $target); jquery_dump($ulnext); jquery_dump($ulnext.next()); jquery_dump($ulnext.next().end());
var $target = $("#target_ref_jquery_next"); var $pnext = $("p", $target); jquery_dump($pnext); jquery_dump($pnext.next());
var $target = $("#target_ref_jquery_next"); var $ulnext = $("ul", $target); jquery_dump($ulnext); jquery_dump($ulnext.next(".nextfilter")); jquery_dump($ulnext.next(".nextfilter").end());
var $target = $("#target_ref_jquery_next"); var $pprev = $("p", $target); jquery_dump($pprev); jquery_dump($pprev.prev());
DOM要素のそれぞれについて,子要素を返します.
children("CSS文字列") の場合,children().filter("CSS文字列") と同様の動作になります.
ただし,end() 1回で元の状態に戻ります.
var $target = $("#target_ref_jquery_children"); var $children = $("ul", $target); jquery_dump($children); jquery_dump($children.children()); jquery_dump($children.children().children());
var $target = $("#target_ref_jquery_children"); var $children = $("ul", $target); jquery_dump($children); jquery_dump($children.children(".top"));
それぞれDOM要素の親要素を返します.
ただし,共通の親を持つ要素が複数あった場合,親は1つだけ返されます.
parent("CSS文字列") の場合,parent().filter("CSS文字列") と同様の動作になります.
ただし,end() 1回で元の状態に戻ります.
var $target = $("#target_ref_jquery_parent"); var $parent = $("#target_ref_jquery_parent_2", $target); jquery_dump($parent); jquery_dump($parent.parent()); jquery_dump($parent.parent().parent());
var $target = $("#target_ref_jquery_parent"); var $parent = $("li", $target); jquery_dump($parent); jquery_dump($parent.parent()); jquery_dump($parent.parent().parent());
var $target = $("#target_ref_jquery_parent"); var $parent = $("li", $target); jquery_dump($parent); jquery_dump($parent.parent(".top"));
それぞれDOM要素の親要素,その親要素,その親要素・・・と順に返します.
ただし,ルートの要素は含まれません.
parents("CSS文字列") の場合,parents().filter("CSS文字列") と同様の動作になります.
ただし,end() 1回で元の状態に戻ります.
// このサンプルは処理が重いです. // ダイアログが画面をはみ出した場合,Enterキーで閉じてください. var $target = $("#target_ref_jquery_parents"); var $parents = $("#target_ref_jquery_parents_2", $target); jquery_dump($parents); jquery_dump($parents.parents());
var $target = $("#target_ref_jquery_parents"); var $parents = $("li", $target); jquery_dump($parents); jquery_dump($parents.parents(".top"));
それぞれDOM要素の兄弟要素を返します.
ただし,共通の兄弟要素が複数あった場合,ユニークな1つだけが返されます.
siblings("CSS文字列") の場合,siblings().filter("CSS文字列") と同様の動作になります.
ただし,end() 1回で元の状態に戻ります.
段落
var $target = $("#target_ref_jquery_siblings"); var $siblings = $("li.top", $target); jquery_dump($siblings); jquery_dump($siblings.siblings());
var $target = $("#target_ref_jquery_siblings"); var $siblings = $("ul", $target); jquery_dump($siblings); jquery_dump($siblings.siblings());
var $target = $("#target_ref_jquery_siblings"); var $siblings = $("ul", $target); jquery_dump($siblings); jquery_dump($siblings.siblings(".top"));
DOM要素の集合に,CSS文字列でマッチした要素,もしくは指定したDOM要素を加えます.
CSS文字列を指定する場合,対象はドキュメント全体になり,$("CSS文字列", context) の
ような形式で範囲を指定することは出来ません.
段落1
var $target = $("#target_ref_jquery_add"); var $add = $("ul", $target); jquery_dump($add); jquery_dump($add.add("#target_ref_jquery_add2"));
var $target = $("#target_ref_jquery_add"); var $add = $("ul", $target); jquery_dump($add); jquery_dump($add.add($("p", $target)[0])); // DOM要素を追加します
CSSの属性を操作します.
キーのみを指定した場合は取得,キー,値での指定や,ハッシュで指定した場合は,
それらの設定値で上書きします.
取得の場合は,最初のDOM要素が対象となります.
値を設定する場合は,全てのDOM要素が対象となります.
show() は指定された要素を非表示状態から表示状態に変更します.
すでに表示状態であれば何もしません.
hide() は指定された要素を表示状態から非表示状態に変更します.
すでに非表示状態であれば何もしません.
この段落は<p id="target_ref_effect_show">です.
$("#target_ref_effect_show").hide();
$("#target_ref_effect_show").show();
指定された要素の表示・非表示を切り替えます.
この段落は<p id="target_ref_effect_toggle">です.
$("#target_ref_effect_toggle").toggle();
[Configure Your Download] した場合,[Basic Animations]を選択していないと,以下の関数は利用できません.
show() / hide() は要素のサイズを変更しつつ,表示する,もしくは非表示にします.
表示中の要素に show() を使用したり,その逆を行うと,余計なアニメーションが実行されることがあります.
これを防ぐためには,要素の指定に :hidden,:visible を利用してください.
速度は,"fast", "normal", "slow" のいずれかを指定するか,ms(1/1000秒)単位の数値で指定します.
第2引数にコールバック関数を指定すると,アニメーションが完了したときに
コールバック関数が呼び出されます.
この段落は<p id="target_ref_effect_show_speed">です.
$("#target_ref_effect_show_speed").hide("slow");
$("#target_ref_effect_show_speed").show(2000);
$("#target_ref_effect_show_speed:visible").hide("slow", function(){ alert( "animation done." ); });
$("#target_ref_effect_show_speed:hidden").show("normal");
slideDown() / slideUp() は要素をスライドさせつつ,表示する,もしくは非表示にします.slideToggle() は,表示・非表示を切り替えます.
表示中の要素に slideDown() を使用したり,その逆を行うと,余計なアニメーションが実行されることがあります.
これを防ぐためには,要素の指定に :hidden,:visible を利用してください.
速度は,"fast", "normal", "slow" のいずれかを指定するか,ms(1/1000秒)単位の数値で指定します.
第2引数にコールバック関数を指定すると,アニメーションが完了したときに
コールバック関数が呼び出されます.
この段落は<p id="target_ref_effect_slide">です.
$("#target_ref_effect_slide").slideDown(2000);
$("#target_ref_effect_slide").slideUp("slow");
$("#target_ref_effect_slide:hidden").slideDown("normal");
$("#target_ref_effect_slide:visible").slideUp("slow", function(){ alert( "animation done." ); });
$("#target_ref_effect_slide").slideToggle("normal");
fadeIn() / fadeOut() は要素をフェードさせ,表示する,もしくは非表示にします.
fadeTo() は指定された透明度までアニメーションさせます.
対象となるオブジェクトは,幅・高さがすでに決定していなければなりません.
表示中の要素に fadeIn() を使用したり,その逆を行うと,余計なアニメーションが実行されることがあります.
これを防ぐためには,要素の指定に :hidden,:visible を利用してください.
速度は,"fast", "normal", "slow" のいずれかを指定するか,ms(1/1000秒)単位の数値で指定します.
第2引数または第3引数にコールバック関数を指定すると,アニメーションが完了したときに
コールバック関数が呼び出されます.
この段落は<p id="target_ref_effect_fade">です.
$("#target_ref_effect_fade").fadeIn(2000);
$("#target_ref_effect_fade").fadeOut("slow");
$("#target_ref_effect_fade:hidden").fadeIn("normal");
$("#target_ref_effect_fade:visible").fadeOut("slow", function(){ alert( "animation done." ); });
$("#target_ref_effect_fade").fadeTo("slow", 0.5);
$("#target_ref_effect_fade").fadeTo("slow", 0.1);
高さ,透明度などのパラメータを指定して,アニメーションをさせるメソッドです.
パラメータには,"height", "top", "opacity" などを,どのように変化させるか "show", "hide", 数値で指定します.
速度は,"fast", "normal", "slow" のいずれかを指定するか,ms(1/1000秒)単位の数値で指定します.
第3引数にコールバック関数を指定すると,アニメーションが完了したときに
コールバック関数が呼び出されます.
この段落は<p id="target_ref_effect_animate">です.
$("#target_ref_effect_animate").animate({ width: 200 }, "slow");
$("#target_ref_effect_animate").animate({ width: 500 }, "slow");
$("#target_ref_effect_animate").animate({ opacity: 'show', height: 'show' }, "slow");
$("#target_ref_effect_animate").animate({ opacity: 'hide', height: 'hide' }, "slow");
イベントの設定を行います.
HTMLでの onclick / onfocus 等と同様のことを,JavaScript側から設定することが出来ます.
斜体のeventのところに,設定したいイベント名を記述します.
記述できるイベントは以下の通りです.
blur,focus,load,resize,scroll,unload,click,dblclick, mousedown,mouseup,mousemove,mouseover,mouseout,change,reset,select, submit,keydown,keypress,keyup,error
event() でイベントに関数を結びつけます.
unbind(event,関数) で,イベントの結びつけを解除します.関数を指定しなければ,全ての結びつけが解除されます.
one(event,関数) は,イベントに関数を結びつけますが,一度イベントが発生すると
結びつけが解除されます.
複数回結びつけると,その回数だけ関数が実行されることに注意してください.
この段落は<p id="target_ref_event">です.
$("#target_ref_event").click(function(){ alert( "clicked!" ); }); // このサンプルを実行後,上の点線の段落をクリックしてみてください.
$("#target_ref_event").unbind('click');
$("#target_ref_event").one('click', function(){ alert( "clicked!" ); }); // このサンプルを実行後,上の点線の段落をクリックしてみてください. // 最初の1回だけalertがポップアップします.
$(document).ready(関数) の形で利用し,
ドキュメントがロードされたときに初期化処理を実行します.
この長い文字列の代わりに,短く $(関数) と書くことが出来ますので,
こちらを利用することをお勧めします.
$(function(){ // HTMLロード後に実行したい初期化コード });
$(document).ready(function(){ // HTMLロード後に実行したい初期化コード });
マウスオーバー処理を行うためのイベントを設定します.
マウスが対象オブジェクトに入ったときに over関数 が呼び出され,
出たときに out関数 が呼び出されます.
この段落は<p id="target_ref_event_hover">です.
$("#target_ref_event_hover").hover(function(){ // 対象オブジェクトに入った $(this).addClass("background_red"); }, function(){ // 対象オブジェクトから抜けた $(this).removeClass("background_red"); }); // このサンプルを実行後,上の点線の段落にマウスカーソルを移動してみてください.
対象オブジェクトがクリックされるたびに,関数1,関数2を交互に呼び出します.
この段落は<p id="target_ref_event_toggle">です.
$("#target_ref_event_toggle").toggle(function(){ // (0から数えて)偶数回目のクリック $(this).addClass("background_red"); }, function(){ //(0から数えて)奇数回目のクリック $(this).removeClass("background_red"); }); // このサンプルを実行後,上の点線の段落をクリックしてみてください.
[Configure Your Download] した場合,[Basic AJAX]を選択していないと,以下の関数は利用できません.
様々なメソッドを利用したAjaxメソッドテストページも参照して下さい.
Ajaxでリモートのファイルを読み込み,置き換えます.
callback関数を指定した場合,第1引数にリモートのファイル内容,第2引数にステータスが帰ります.
ステータスは,"success" か "error" のどちらかです.
paramsを指定した場合はPOSTメソッド,指定しない場合はGETメソッドになります.
この段落は,<p id="target_ref_ajax_load">です.
$("#target_ref_ajax_load").load("hello.html");
$("#target_ref_ajax_load").load("hello.html", function(html, status){ alert( "html: " + html + "\nstatus: " + status ); });
$("#target_ref_ajax_load").load("notfound.html", function(html, status){ alert( "html: " + html + "\nstatus: " + status ); });
Ajaxメソッドテストページも参照して下さい.
AjaxでリモートのファイルをGETメソッドで読み込み,ファイル内容を返します.
引数の指定方法は $.load() と同様です.
Ajaxメソッドテストページも参照して下さい.
AjaxでリモートのファイルをPOSTメソッドで読み込み,ファイル内容を返します.
引数の指定方法は $.load() と同様です.
Ajaxメソッドテストページも参照して下さい.
Ajax系の関数・メソッドのタイムアウトは $.ajaxSetup() 関数で指定できます.
ms単位(1/1000秒)で指定でき,0を指定した場合は,タイムアウト処理を行いません.
デフォルトでは0が設定されています.
タイムアウト時間待ってもリクエストが完了しない場合,error扱いとなります.
hello_timeout.cgi は5秒間応答を返さないCGIです.
ブラウザのキャッシュを防ぐために,パラメータを追加しています.
この段落は <p id="target_ref_ajax_load_timeout"> です.
$.ajaxSetup({ timeout: 2000 // 単位はms }); $("#target_ref_ajax_load_timeout").load("hello_timeout.cgi", { timekey: 1 }, function(text, status) { alert( "text: " + text + "\nstatus: " + status ); });
$.ajaxSetup({ timeout: 0 // 0指定でタイムアウト無しになります }); $("#target_ref_ajax_load_timeout").load("hello_timeout.cgi", { timekey: 1 }, function(text, status) { alert( "text: " + text + "\nstatus: " + status ); });
Ajaxメソッドテストページも参照して下さい.
Ajax呼び出しに関するグローバルなコールバック関数を設定します.
読み込み中にアニメーションを表示させる,等の目的で利用できます.
Ajax リクエストが実行中になったときに ajaxStart のコールバックが呼び出され,
全てのリクエストの実行が完了したときに ajaxStop のコールバックが呼び出されます.
同時に複数のリクエストが実行された場合,ajaxStart/ajaxStopは最初と最後に1回ずつ呼び出されます.
ajaxComplete / ajaxError / ajaxSuccess は,Ajaxリクエストが完了・失敗・成功したときに,
リクエスト毎に呼び出されます.
1回のリクエストで,ajaxCompleteが1回と,ajaxError/ajaxSuccessのどちらかが1回呼び出されます.
$("#loading").ajaxStart(function(){ $(this).show(); }); $("#loading").ajaxStop(function(){ $(this).hide(); });
Ajaxメソッドテストページも参照して下さい.
ajaxStart/ajaxStopで画面上部にアニメーションを表示しています.
ユーティリティ関数群です.$.method という形式で利用できるようになっています.
オブジェクトまたは配列の全ての要素に対して,指定した関数を呼び出します.
配列に対して実行した場合,関数の第1引数に配列の添字(0始まり)が,this に要素が渡されます.
オブジェクトに対して実行した場合,関数の第1引数にキーが,this に値が渡されます.
// 配列の場合 $.each(["い","ろ","は"], function(i){ alert( "配列[" + i + "] = " + this ); });
// オブジェクトの場合 $.each({ key1: "value1", key2: "value2" }, function(i){ alert( "引数: " + i + "\n値: " + this ); });
オブジェクト1にオブジェクト2の内容を加えます.
継承を行う時に利用できます.
var settings = { key1: 1, key2: 2 }; var add = { key2: "あ", key3 : "い" }; $.extend(settings, add); $.each(settings, function(i) { alert( "引数: " + i + "\n値: " + this ); });
配列の各要素に対して関数を実行し,その結果によって配列から要素を取り出します.
元の配列は変更されません.
反転フラグがfalseの場合は,関数の実行結果が true の要素を取り出します.
反転フラグがtrueの場合,その逆になります.
省略した場合,反転フラグは false として扱われます.
var data = [1,2,3,4]; var data2 = $.grep(data, function(i){ return (i % 2 == 0); }); $.each(data2, function(i){ alert( "配列[" + i + "] = " + this ); });
var data = [1,2,3,4]; var data2 = $.grep(data, function(i){ return (i % 2 == 0); }, true); $.each(data2, function(i){ alert( "配列[" + i + "] = " + this ); });
配列の各要素に対して関数を実行し,その関数の戻り値の配列を返します.
元の配列は変更されません.
関数が値を返せばその値がそのまま戻り値に含まれます.
関数がundefinedを返した場合は戻り値には含まれません.
関数が配列を返した場合は,配列オブジェクトではなく,それぞれの値が戻り値の配列に追加されます.
var data = [1,2,3]; var data2 = $.map(data, function(i){ return i * 10; }); $.each(data2, function(i){ alert( "配列[" + i + "] = " + this ); });
var data = [1,2,3]; var data2 = $.map(data, function(i){ if(i == 2) { return undefined; } return i * 10; }); $.each(data2, function(i){ alert( "配列[" + i + "] = " + this ); });
var data = [1,2]; var data2 = $.map(data, function(i){ return [i*10, i*100]; }); $.each(data2, function(i){ alert( "配列[" + i + "] = " + this ); });
指定された2つの配列をマージしますが,重複は取り除きます.
元の配列は両方とも変更されません.
重複がある場合,まず配列1の内容が全て返された後,配列2のうち配列1と重複していないものが返されます.
配列1の中で重複している要素や,配列2の中で重複している要素は,存在する個数分返されます.
var data1 = [1,2]; var data2 = [3,4]; var mergedata = $.merge(data1, data2); $.each(mergedata, function(i){ alert( "配列[" + i + "] = " + this ); });
var data1 = [1,2,1]; var data2 = [4,2,3,1,3]; var mergedata = $.merge(data1, data2); $.each(mergedata, function(i){ alert( "配列[" + i + "] = " + this ); });
文字列の前後にある空白を取り除いた文字列を返します.
var str = " こんにちは "; alert( "[" + str + "]" ); str = $.trim(str); alert( "[" + str + "]" );
// タブや改行も空白とみなされます var str = "\tこんにちは\n"; alert( "[" + str + "]" ); str = $.trim(str); alert( "[" + str + "]" );
// 全角空白も取り除けます var str = " こんにちは "; alert( "[" + str + "]" ); str = $.trim(str); alert( "[" + str + "]" );