jquery
目次
jQuery
jQueryは、メソッドチェインでDOM、Ajax操作を簡単に行えるようにするJavaScriptライブラリ。
jQueryオブジェクトの取得
イベントの設定
class=“hoge”のAタグにclickイベントを設定。
$(function(){ $("a.hoge").click( function(event) { window.alert("クリック"); event.preventDefault(); } ); });
ページロードが完了したら関数を実行
$(関数)
class=“hoge” な a のDOMエレメントノードを保持しているjQueryオブジェクトを取得
$("a.hoge")
上記のjQueryオブジェクトが保持しているエレメントノードに対してonclickイベントを設定
$("a.hoge").click(関数)
この場合$(“a.hoge”)で取れる要素が複数でも単数でも同じ。
event
はjQueryイベント。クロスブラウザ対応でIEでもDOM Eventのプロパティ、メソッドを使えるようにする。
event.preventDefault(); event.stopPropagation(); event.target
イベントターゲットの取得
イベントが発生した要素の取得
$("div").hover(function(ev) { ev.target; // または this; });
thisやtargetは、ただのDOM要素なので…
$("div").hover(function(ev) { $(ev.target).css("color", "#FF0000"); $(this).css("color", "#FF0000"); })
としてイベント実行時の操作を行う。
DOMエレメントの取得
class=“hoge” な 全てのDOMエレメントノードのリストを取得、
$(".hoge").get()
最初の要素だけ取得するならば
$("a.hoge").get(0)
以下はgetElementById(“hogehogeId”)と同じ処理
$("#hogehogeId").get(0)
フォームとか
フォームの選択
$("input:text") $(":text")
両者ともtextフィールドを選択するセレクタだが、明示的にinputと書く上の方が速いのでオススメらしい。
valueの設定と現在の値の取得
// get $("#a_input_or_select").val(); // set $("#a_input_or_select").val("hogehoge");
クリックすると自身のフォームのチェックボックスをすべてオンにするボタン
$("#a_button_to_check_all").click( funtion(){ $(this).parents("form").find(":chekcbox").attr("checked", true); }); $("#a_button_to_uncheck_all").click( funtion(){ $(this).parents("form").find(":checkbox").attr("checked", false); });
クリックするボタンによってフォーム送信先を変える
$("#a_button_to_delete").click( function(){ $(this).parents("form").attr("action", "delete").get(0).submit(); } ); $("#a_button_to_update").click( function(){ $(this).parents("form").attr("action", "update").get(0).submit(); } );
こっちの方がスマートかも
$("#a_button_to_delete").click( function(){ $(this.form).attr("action", "delete").get(0).submit(); } );
value値がhogehogeであるラジオボタンを選択状態にする。
$("input[name=radioButtonName]").filter(function(){ return ($(this).val() == "hogehoge") }).attr("checked", true);
value値がhogehogeであるプルダウンのoptionを選択状態にする
$("select").val("hogehoge");
textフィールドのenter/returnによるsubmit抑止
$("input:text").keydown(function(event){ if(event.keyCode == 13) event.preventDefault(); });
入力値のクリア
もっと上手い方法ありそう
$("input:text").val(""); $("textarea").val(""); $("select").attr("selectedIndex", 0); $("input:checked").attr("checked", false); $("input:radio").attr("checked", false);
jquery.txt · 最終更新: 2011/02/16 01:16 by 127.0.0.1