勉強備忘録:ドットインストールjQuery入門

1.基本文法

・bodyの終わりの直前で読み込む。読み込んでからスクリプト書く。
・全体を$(function(){})で囲う。
・$('セレクタ').メソッドで記載する。メソッドはつなげることができる。
 (メソッドチェーン)
 セレクタは、Javascript同様に"で囲ってもよい。
・コールバック関数→関数の引数として呼び出された関数。
 非同期処理の中で、決まった順序で処理を実行したい
 関数を渡す形にすることで、非同期処理を実行した後の処理の内容を
 自由に決めたい
 を理由に、jacascriptでは、使用される。
 setTimeout(関数,時間)の関数もコールバック関数といえるが、
 本当はもっと複雑であり、使う場合はもっと調べる必要あり。

2.要素を取得する

・eq()→インデックス番号を指定することで特定の要素だけを取得
 $('#sub > li').eq(2)
 セレクタに関数を含む場合は、以下のように記載。
 $('#sub > li:eq(2)')
 その他要素を取得する関数。
 gt()→指定したインデックスより大きい要素を取得
 lt()→指定したインデックスより小さい要素を取得
 even→偶数の要素を取得
 add→奇数の要素を取得。
 first→最初の要素を取得。
 last→最後の要素を取得。
 contains()→特定の文字列が含まれる要素を指定。
・要素同士の関係で指定する。
 parent(),children(),next(),prev(),sblings()
・属性を使って指定する。
 $('要素[属性="値"]')
 $('a[href="URL"]')
  !=→一致しない  *=→部分一致 ^=→前方一致 $=→後方一致
・attr html属性の取得
 →対象要素.attr( 属性, (変更する値) )
・data htmlカスタムデータ属性を取得
 →対象要素.data( 属性名, 値 )

3.関数

・addclass(クラス名)
 任意の要素にclass属性を追加する。
・removeclass(クラス名)
 任意の要素からclass属性を削除する。
・text()→テキストの取得・追加・変更。
・html()→htmlの取得・追加・変更。
・value()→value値の取得・追加・変更。
・empty→要素を空にする。
・remove→要素を削除する。
・それぞれの文法要注意。 
 before,insertBefore
 after,insertAfter
 prepend,prependTo
 append,appendTo 
・エフェクト系メソッド
 hide,show,fadeOut, fadeIn, toggle

 $('#box').fadeOut(800,function(){
 	alert("gone");
 });

4.イベント

・click,mouseover,mouseout,mousemove
・focus,blue,change
・on→ドキュメントが読み込まれた時点で、存在していない動的に
 つくられた要素にイベントをつける。
 $('body').on('イベント','要素指定',関数)

5.Ajax

・Ajax→Asynchronous JavaScript + XML
 JavaScriptとXMLを使って非同期にサーバとの間の通信を行うこと。
 XMLHttpRequesを使用する。
・非同期通信→ページ内でJSで通信、ページリロードしない。
 処理が終わる前に次の処理にうつる。
 loadが完了していなくても次の処理を見つける。
・JSON→JavaScript Object Notation
・load()→HTMLの任意の箇所へサーバーから取得したファイルの中身を
 出力できる。第二引数に関数(コールバック関数)を指定すると、
 読み込みが終わった後に、処理が実行される。

 $('#button').click(function(){
  $('#result').load('more.html',function(){
   処理 
  });
 });

・get()→サーバーからデータを取得する。
 greet.phpに、nameを渡して、resultに結果を表示する。
 取得した値を関数の引数に指定して使用できる。

 $('#greet').click(function(){
  $.get('greet.php',{
    name: $('#name').val()
   },function(data){
   $('#result').html(data);
   処理 
  });
 });

・post()→ブラウザ側からサーバーへデータを送信する

6.その他

・buttonタグ→inputタグのtype属性buttonと異なり、子要素を持てるため、
 内側に好きなだけかけるので、CSSでカスタマイズしやすい。
 ::beforeや::afterなどの擬似要素が使用できる
・vagrant→VirtualBoxなどを利用した仮想環境を作るソフト。

7.感想

・addclass(〇〇)は、classlist.add(〇〇)でもいいのでは思ったり?
 簡単に書けたほうが(jquery)楽かなと思ったり。
・非同期通信が使えて、初めてjavascriptのスタートラインに立てるん
 だろうなと思った。
・Ajaxは、jqueryを使うのが楽そう。

この記事が気に入ったらサポートをしてみませんか?