Frage

Ich bin derzeit mit der .load() Funktion Inhalt in einen Behälter div dynamisch zu laden. Der Inhalt geladen ist Tabellendaten, die ich Zebrastreifen möchten. Das Zebra-Striping ist einfach auf einer statischen Seite, aber ich kann nicht herausfinden, wie man Zebra den neuen Inhalt Striping die Behälter div geladen.

Hier ist der Code, mit dem ich zu arbeiten bin versucht:

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

Die „EVENT“ sollte nicht "click" werden oder "mouseover" aber „onload“ oder etwas in diesem Sinne. Gibt es eine Möglichkeit, dies zu tun? Vielen Dank für Ihre Anregungen!

~ Jared

War es hilfreich?

Lösung

Sie sollten nur den Zebrastreifencode in der Callback-Funktion für die Last laufen ().

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

Andere Tipps

Als eine Erweiterung tvanfosson Antwort (was die beste Wahl ist in diesem Fall), die Live () Funktion wird derzeit nur einige Ereignisse unterstützt. Dies ist aus der Dokumentation unter http://api.jquery.com/ :

  

Mögliche Ereigniswerte: klicken, dblclick, mousedown-, mouseup, mousemove-, Mouseover, mouseout, keydown, keypress, keyup

     

Zur Zeit nicht unterstützt: Unschärfe, Fokus, MouseEnter-, mouseleave, ändern einreichen

Um Daten in Tabelle dynamisch hinzufügen, müssen Sie einen anderen Code verwenden. Ist es nicht? innerhalb dieser Funktion, nach dem Laden von Daten in der Tabelle, CSS-Klasse Zeilen hinzufügen. Mit folgenden Verfahren in dieser Funktion,

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

Ich mache es auf diese Weise die Veranstaltung mit jquery auslösen 1.4.2

.

$ ( "body") lebt ( "mousemove-", function () {$ ( "Zebra tr. N-te-Kind (auch) ") addClass (" alt");});

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top