: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');
こう。何が違うんだろー。明日また、調べてみるかー。