Domanda

Attualmente sto usando la funzione .load() per caricare contenuto in un contenitore di div dinamicamente. Il contenuto viene caricato è dati della tabella che mi piacerebbe Zebra Stripe. Lo striping zebra è facile su una pagina statica, ma non riesco a capire come banda della zebra del nuovo contenuto caricato nel div contenitore.

Ecco il codice con cui sto cercando di lavorare:

$("table tbody tr:even").live("EVENT", function(){
  $(this).addClass("alt");
});

' "evento" non dovrebbe essere "click", o "mouseover" ma "onload" o qualcosa in tal senso. C'è un modo per fare questo? Grazie per i vostri suggerimenti!

~ Jared

È stato utile?

Soluzione

Si deve solo eseguire il codice zebra striping nella funzione di callback per il carico ().

$("#myDiv").load( "/somecontroller/someaction", { data: value }, function() {
    $("#myDiv").find( "table tbody tr:even" ).addClass( "alt" );
});

Altri suggerimenti

Come estensione alla risposta di tvanfosson (che è la soluzione migliore in questo caso), la funzione Live () attualmente supporta solo alcuni eventi. Questo è dalla documentazione a http://api.jquery.com/ :

  

I possibili valori degli eventi: cliccare, DoppioClic, MouseDown, MouseUp, MouseMove, mouseover, mouseout, keydown, pressione di un tasto, keyup

     

Al momento non supportato: sfocatura, messa a fuoco, MouseEnter, mouseLeave, cambiamento, presentare

Per aggiungere dati alla tabella in modo dinamico, è necessario utilizzare un altro codice. Non è vero? all'interno di una funzione, dopo il caricamento dei dati di tabella, aggiungere classe css alle righe. Usando il metodo seguito in quella funzione,

$("table tbody tr:even").removeClass("alt").addClass("alt");

Lo faccio in questo modo per attivare l'evento con jQuery 1.4.2

.

$ ( "corpo") vive ( "MouseMove", function () {$ ( "zebra tr:. Nth-child (anche) ") addClass (" alt");});

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