jQueryなど動的な処理を組み込むのが苦手な管理人。
日々奮闘してますが、jQueryにてメソッドチェーンなるものを紹介。
まずは以下ソース。
<html lang="ja"> <head> <title>テストページです。</title> <meta http-equiv="Content-Language" content="ja"> <script src="http://www.google.com/jsapi"></script> <script>google.load("jquery", "1.7.0");</script> </head> <body> <script type="text/javascript"> $(function(){ $("div.foo").addClass("bar"); $("div.foo").css("background", "#FF0000") $("div.foo").click(function(){alert('foo');}); }) </script> <div class="foo"> classがfooの箇所になります。 </div> <div class="hoo"> classがhooの箇所になります。 </div> </body> </html>
文字コードなどいろいろ端折ってますがスルーで。
以下見て頂ければわかりますが、これだとDOMを
3回見に行って2回見に行くのが無駄かな?と思います。
<script type="text/javascript"> $(function(){ $("div.foo").addClass("bar"); $("div.foo").css("background", "#FF0000") $("div.foo").click(function(){alert('foo');}); }) </script>
そこで以下のように、$(“div.foo”)を省略する事で、
無駄な読込がなくなります。
<script type="text/javascript"> $(function(){ $("div.foo") .addClass("bar") .css("background", "#FF0000") .click(function(){alert('foo');}); }) </script>
コードも気持ちすっきりしたかなと思います。
このような小さい事の積み重ねが
後々生きてきますので、是非メソッドチェーンを使いたいですね。