2009-11-04 7 views
3

J'utilise actuellement la fonction .load() pour charger dynamiquement du contenu dans un conteneur div. Le contenu en cours de chargement est une donnée de tableau que j'aimerais utiliser pour la bande zébrée. La zébrure est facile sur une page statique, mais je ne peux pas comprendre comment zébrer rayure le nouveau contenu chargé dans le conteneur div.addClass en utilisant .live() avec jQuery

Voici le code avec lequel je suis en train de travailler:

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

Le ne devrait pas « événement » être "click" ou "mouseover" mais « onload » ou quelque chose à cet effet. Y a-t-il un moyen de faire cela? Merci pour vos suggestions!

~ Jared

Répondre

7

Vous devez juste exécuter le code de zébrures dans la fonction de rappel pour la charge().

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

Merci d'avoir partagé cette solution, tvanfosson! Cela fait l'affaire. – user196986

0

Dans le prolongement de la réponse de tvanfosson (Quel est votre meilleur pari dans ce cas), la fonction en direct() prend actuellement en charge que certains événements. Ceci est de la documentation à http://api.jquery.com/:

valeurs d'événement possibles: cliquez, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup

pas pris en charge: flou, mise au point, mouseenter , mouseleave, change, submit

+0

Excellent ajout à la discussion, Bartek. Merci. – user196986

0

Pour ajouter dynamiquement des données à une table, vous devez utiliser un autre code. N'est-ce pas? à l'intérieur de cette fonction, après avoir chargé les données dans la table, ajoutez la classe css aux lignes. ci-dessous utilisant la méthode dans cette fonction,

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

je le fais de cette façon de déclencher l'événement avec jquery

1.4.2

$ ("corps"). Live ("mousemove", function() { $ (". zebra tr: nième-enfant (pair)"). addClass ("alt");});

+1

Ceci est très faux :) – dmitko

+0

Pourquoi ne continuons-nous pas à recharger la page? Ce serait encore plus cool –