Question

Pour les tables html-normales-je utiliser

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

pour rayant la table. Mais évidemment cela ne fonctionne pas avec ajax. l'indice de chaque nouvelle ligne de la table est « -1 » et donc chaque nouvelle ligne obtient la classe.

Même Live Query-Plugin de http://brandonaaron.net ne peut me aider. Toutes les suggestions?

Était-ce utile?

La solution

Eh bien, vous pouvez essayer d'ajouter la ligne de ce code, plus un qui supprime toutes les bandes existantes, au événement mondial .ajaxSuccess() pour qu'il fonctionne à chaque fois qu'un appel ajax est complet, mais ce n'est pas une méthode terriblement efficace si vous travaillez avec de nombreux appels ajax avec seulement quelques-uns qui change réellement la table.

Vous pouvez également définir une fonction que vous pouvez inclure avec le rappel de success de vos appels ajax, tels que

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

Cela permettra d'éviter les bandes d'être foiré si vous insérez dans de nouvelles lignes dans les tables existantes.

L'utilisation de CSS est bien sûr la meilleure façon de le faire, mais puisque vous utilisez jQuery pour cela, je soupçonne que la compatibilité descendante est une question clé ici.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top