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>

これに対して以下の処理を行う場合

  1. 最初のTR要素はヘッダ列のため無視する。
  2. 最初の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ライブラリもみんなこんなにすごいのかな?だとしたらもっとチェックしないとな。