jQuery チェーン
jQueryを使用すると、アクション/メソッドをリンクできます。
チェーンを使用すると、1 つのステートメントで複数の jQuery メソッドを (同じ要素に対して) 実行できます。
jQuery メソッドのリンク
これまで、jQuery ステートメントを一度に 1 つずつ (次々に) 書いてきました。
ただし、同じ要素に対して複数の jQuery コマンドを次々に実行できるようにするチェーンと呼ばれる手法があります。
ヒント: こうすることで、ブラウザは同じ要素を何度も探す必要がなくなります。
アクションをリンクするには、そのアクションを前のアクションに追加するだけです。
次の例では、css()、slideUp()、slideDown() を相互にリンクします。 「p1」要素が最初に赤くなり、次に上にスライドし、次に下にスライドします:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function() { $("button").click(function(){ $("#p1").css("color","red").slideUp(2000).slideDown(2000); }); }); </script> </head> <body> <p id="p1">php中文网!!</p> <button>点我</button> </body> </html>
実行して試してください
必要に応じて、複数のメソッド呼び出しを追加することもできます。
ヒント: リンクすると、コード行が混乱します。ただし、jQuery 構文はそれほど厳密ではなく、改行やインデントを含めて必要な形式で記述することができます。
次のように書くこともうまくいきます:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function() { $("button").click(function(){ $("#p1").css("color","red") .slideUp(2000) .slideDown(2000); }); }); </script> </head> <body> <p id="p1">php中文网!!</p> <button>点我</button> </body> </html>
実行してみてください
ヒント: jQuery は余分なスペースを破棄し、上記のコード行を 1 つの長いコード行として実行します。