addClass Verwendung .Live () mit jQuery
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
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");});