Question

Je vis en utilisant la fonction .load() pour charger le contenu dans un récipient div de façon dynamique. Le contenu est en cours de chargement des données de table que je voudrais zébré. Le zébrures est facile sur une page statique, mais je ne peux pas comprendre comment la nouvelle rayure de zèbre contenu chargé dans le conteneur div.

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

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

Le « événement » ne doit pas ê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

Était-ce utile?

La solution

Vous devez simplement 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" );
});

Autres conseils

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, changement, soumettre

Pour ajouter des données à la table dynamique, vous devez utiliser un autre code. Est-il pas? à l'intérieur de cette fonction, après que les données de chargement à table, ajouter classe CSS à des lignes. Utilisation de la méthode ci-dessous en ce que la fonction,

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

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

.

$ ( "corps") vivent ( "mousemove", function () {$ ( "tr clouté:. Nième enfant (même) ") addClass (" alt");});

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top