:nth-child()と他のセレクタを組み合わせると遅いの?

何て言えばいいのやら。とにかく、こんなSelectorを使うと非常に処理が重い。

// 選択された行(tr)の数だけ繰り返す処理
// for (〜) {
    // 2つ目のtdのdiv要素を取得
    $('td:nth-child(2) div');

たしか、HTMLはこう。

<table>
  <tr>
    <td>金額</td>
    <td><div>1,000</div></td>
  </tr>
  // 省略(以下、同じようなtrが続く・・・
</table>

上のSelectorで2つめのtdの中のdivを取得できる。ま、1件だけなら大したことはないんだろうけど、5件くらいで目に見えて処理が遅くなる。(やってたのは、選択された行の合計値を出すって処理)

ちょっとずつ削っていくとどうやら上の:nth-child(2)の後ろのdivを探してるところが遅いっぽい。そして、以下のようにするとちょっぱやになった(てか普通になった)

    $('td:nth-child(2)').children('div');

こう。何が違うんだろー。明日また、調べてみるかー。