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 つの長いコード行として実行します。
次のセクション