jQueryがイカス件について
jQueryを使ってテーブルの各要素に対してとある処理を行ってみたのだが、あまりの使いやすさにびっくりした。
たとえば以下のようなテーブルがあったとする。
<table id="dataTable" border="1"> <tr> <th></th> <th></th> <th></th> </tr> <tr> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td></td> <td></td> </tr> </table>
これに対して以下の処理を行う場合
- 最初のTR要素はヘッダ列のため無視する。
- 最初のTD要素にのみテキストを追加する。
jQueryではこんな風に書ける。
<script type="text/javascript"> $(document).ready(function() { $("#dataTable").find("tr:not(:first)").each(function(i, tr) { $(tr).children(":first").text("Hello"); }); }); </script>
「find」で要素を検索できるので、その検索条件でTD要素の最初以外を指定している。
「:first」で最初の要素を、「:not」で入れ子にした条件の否定ができる。すげー!!
そして見つかった要素に対して「each」で列挙を行い、TR要素の最初の子要素を取得している。
まさにjQuery。これはもっと研究してみる必要がある。
しかし、他のAjaxライブラリもみんなこんなにすごいのかな?だとしたらもっとチェックしないとな。