Domanda

Per i normali tabelle html utilizzare

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

per striping tavolo. Ma ovviamente questo non funziona con l'Ajax. l'indice di ogni nuova tabella-riga è "1" e quindi ogni nuova riga ottiene la classe.

Anche il live Query-Plugin da http://brandonaaron.net non mi può aiutare. Qualche suggerimento?

È stato utile?

Soluzione

Bene, si può provare la linea aggiungendo che il codice, più uno che rimuove tutte le strisce esistenti, alla evento .ajaxSuccess() globale modo che venga eseguito ogni volta che una chiamata AJAX è completa, ma che non è un metodo tremendamente efficace se si sta lavorando con molte chiamate Ajax diversi con solo pochi che realmente cambia la tavola.

È anche possibile definire una funzione che è possibile includere con la richiamata success delle chiamate Ajax, come ad esempio

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

Questo consentirà di evitare le strisce di essere incasinato se si inserisce nelle nuove righe in tabelle esistenti.

Usando i CSS è, naturalmente, il modo migliore per farlo, ma dal momento che si sta utilizzando jQuery per questo ho il sospetto che la compatibilità è una questione chiave qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top