0

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

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

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

http://brandonaaron.netの Live Query-Plugin でも役に立ちません。助言がありますか?

4

1 に答える 1

1

まあ、そのコードの行と、既存のすべてのストリップを削除する行をGlobal.ajaxSuccess()イベントに追加して、ajax 呼び出しが完了するたびに実行されるようにすることはできますが、多くのコードを使用している場合、それは非常に効率的な方法ではありません。実際にテーブルを変更するいくつかの異なる ajax 呼び出し。

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

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

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

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

于 2010-10-11T07:18:05.887 に答える