私は次のコードを使用しています:
$("#dataTable tbody").on("click", "tr", function (event) {
if (!$(this).hasClass('row_selected')) {
$(oTable.fnSettings().aoData).each(function () {
$(this.nTr).removeClass('row_selected');
});
$(this).addClass('row_selected');
gridClickHandler($(this));
}
});
行がクリックされたときに、その行がすでに選択されている場合は、何も起こりません。そうでない場合は、すべての行でクラスが削除され、現在の行でrow_selectedクラスが追加されます。
ただし、テーブルに多くの行があるため、これは低速です。現在の遅延では見栄えがよくありません。私が考えたのは、addClassを最初に移動することでした。しかし、そうすると、.eachループがそれを削除します。
この作業をより効率的に(より高速に)行う方法はありますか?
<table id-"dataTable">
<tbody>
<tr>
<td>January</td>
<td>$100</td>
</tr>
<tr>
<td>February</td>
<td>$80</td>
</tr>
</tbody>
</table>