L'article Zebra Tables tombait à point nommé pour moi. J'avais besoin d'un script pour zébrer certains tableaux plutôt que de le faire à la main en alternant les attributs class sur tous les éléments td. Oui mais voilà, son script est basé sur un getElementById pour cibler le tableau à zébrer. Or j'ai plusieurs tableaux dans ma page et les attributs id doivent être uniques. Damned s'écria la baronne.
Je me suis donc mis en tête de modifier ce script pour qu'il puisse agir sur davantage de tableaux. Seulement je suis pas un king du javascript et je suis bloqué, je trouve pas de solution.
Ma galère : je fais des getElementsByTagName pour récupérer tous les éléments table, tbody, tr et enfin td. Ensuite j'alterne les couleurs de fond de tous les td. Ca fonctionne a peu près mais j'aimerai que chaque première cellule de tableau commence par la même couleur. Pour l'instant, le script ne fait pas la différence entre 2 tableaux, donc si le premier à un nombre impair de cellules, le second ne commencera pas par la même couleur. J'ai un peu de mal à expliquer le problème. Je ne sais pas comment faire alors si quelqu'un a une idée pour me mettre sur la voie ou améliorer le script, ça serait sympa.
Mes fichiers : la page html et le code javascript.
Edit : merci à Mathieu Pillard pour son aide et son script qui fonctionne nickel ! Je vais le mettre bientôt dans la section Tutoriaux du site.
Tu te compliques la vie pour rien dans ton script :) Notamment, tu peux demarrerl getTrucByMachin d'ou tu veux, pas seulement document, et le DOM contient deja des fonctions pour chopper une table, ses cellules, lignes, etc.
Si je comprends bien ce que tu veux, tu veux appliquer le surlignage a chacun des tableaux de ta page, en recommandant le surlignage a chaque fois ? Si c'est ca, dis le et je te le fais en 5 minutes en en profitant pour corriger ce que tu as deja pour le rendre moins gourmant en ressources en utilisant les fonctions deja pretes du DOM :)