jQuery メモ

jQueryでよく使う機能メモ。

jQueryの基本

documentのreadyの一番シンプルな書き方。

$(function(){
    // 処理内容
});

セレクタ

よく使う形式をまとめました。

$('div');      // タグ名="div"
$('.ex1');     // クラス名="ex1"
$('#ex2');     // ID="ex2"

$('div.ex1');  // タグ名="div" and クラス名="ex1" 
$('div#ex2');  // タグ名="div" and ID="ex2"
$('div,.ex');  // タグ名="div" or クラス名=ex1 
$('div,#ex2'); // タグ名="div" or ID="ex2"

$('div > .ex1'); // タグ名="div"直下のクラス名="ex1"(親⇔子関係)
$('div #ex1');   // タグ名="div"配下のID="ex2"(先祖⇔子孫関係)

// タグ名="input"のname属性フィルタ
$('input[name]');        // name属性を持つ
$('input[name="ex3"]');  // "ex3"と一致
$('input[name!="ex3"]'); // "ex3"と一致しない
$('input[name^="ex3"]'); // "ex3"と先頭一致
$('input[name$="ex3"]'); // "ex3"と末尾一致
$('input[name*="ex3"]'); // "ex3"と部分一致(曖昧)

$('input[type="checkbox"]:checked'); // チェックボックス(選択済)
$('input[type="radio"]:checked');    // ラジオボタン(選択済)
$('select > option:selected');       // リスト・コンボボックス内の選択済要素

クラスの追加・削除

クラスの追加・削除にはaddClass, removeClass, toggleClassを使用します。

// <div>要素にクラス'example'を追加
$('div').addClass('example');

// <div>要素にクラス'ex1','ex2'を追加
$('div').addClass('ex1 ex2');

// <div>要素からクラス'example'を削除
$('div').removeClass('example');

// <div>要素からクラス'ex1','ex2'を削除
$('div').removeClass('ex1 ex2');

// <div>要素のクラス'example'をトグル(指定した要素にclassがあれば削除、なければ追加)
$('div').toggleClass('example');

属性の取得・設定

属性の操作には attr を使用します。

// divから属性idを取得
var id = $('div').attr('id');
console.log(id);

// divに属性id="example"を設定
$('div').attr('id', 'example');

値の取得・設定

値の取得と設定には data を使用します。

// divからdataを取得
var data = $('div').data();
console.log(data);

// divにdata="example"を設定
$('div').data('example');

イベント関係(on)

対象となる要素にonを指定することでイベント処理を追加できます。

【構文】 .on( events [, selector] [, data], handler(eventObject) )

よく使う events (イベント名)は「change、click、blur 、focus」など。

// 引数がイベント名(click)、handlerのケース
$('button').on('click', function() {
    console.log('クリックされました。');
})

// 引数がイベント名(click)、data、handlerのケース
$('#ex').on('click', {ex1:'aaa', ex2:'bbb'}, show);
 
function show(e) {
    // "aaabbb"が出力されます。
    console.log(e.data.ex1 + e.data.ex2);
}

要素の表示/非表示

要素の表示と非表示には show と hide を使用します。

$('div').show(); // 表示
$('div').hide(); // 非表示