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 つの長いコード行として実行します。



学び続ける
||
<!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中文网(php.cn)</p> <button>点我</button> </body> </html>