jQueryでAjaxテーブルをストライプ化する

ajax html-table jquery zebra-striping
jQueryでAjaxテーブルをストライプ化する

私が使用する通常のhtmlテーブル

 $('table.alt tr:even').addClass('bg');

テーブルをストライピングするため。 しかし、明らかにそれはajaxでは機能しません。 すべての新しいテーブル行のインデックスは「-1」であるため、すべての新しい行はクラスを取得します。

http://brandonaaron.netのLive Query-Pluginでさえ助けにはなりません。 助言がありますか?

  0  0


ベストアンサー

まあ、コードを追加し、既存のすべてのストリップを削除する行をhttp://api.jquery.com/ajaxSuccess/[Global .ajaxSuccess() event]に追加して、ajaxが実行されるたびに実行できるようにすることができます。呼び出しは完了しましたが、実際にテーブルを変更するのはごくわずかで、多くの異なるajax呼び出しで作業している場合、これは非常に効率的な方法ではありません。

次のような、ajax呼び出しの `success`コールバックに含めることができる関数を定義することもできます。

function stripTable(){
     $('table.alt tr').removeClass('bg').filter(':even').addClass('bg');
}

これにより、既存のテーブルに新しい行を挿入した場合にストリップが台無しになるのを防ぎます。

もちろん、これを行うにはCSSを使用するのが最善の方法ですが、これにはjQueryを使用しているため、ここでは後方互換性が重要な問題であると考えています。

1


タイトルとURLをコピーしました