Change la couleur de fond des cellules d'un tableau en fonction de leur en-tête

Je suis dynamiquement la construction d'un calendrier(tableau html) en javascript. Je veux avoir le samedi et le dimanche colonnes avec un gris couleur d'arrière-plan.

Quand je suis en ajoutant les autres cellules pour le calendrier, je veux vérifier pour les cellules d'en-tête de colonne, vérifier l'intérieur du texte html/class/id et la couleur de la cellule, si c'est sur un week-end.

C'est là que j'ai ajouter les en-têtes de colonne avec le départ de lettres des jours :

<th bgcolor='#c1c1c1' width=20>S</th>" 
<th width=20>M</th>" 
<th width=20>T</th>" 
<th width=20>W</th>" 
<th width=20>T</th>" 
<th width=20>F</th>" 
<th bgcolor='#c1c1c1' width=20>S</th>" 

J'ai essayé ce code mais il ne fonctionne pas correctement...

var table = document.getElementById("calendarTable");
var rows = table.getElementsByTagName("tr");
for (var z = 0; z < rows.length-1; z++) {
    for (var y = 0; y < rows[z].cells.length; y++) {
        if(rows[z].cells[y].headers=="S")
            rows[z].cells[y].style.backgroundColor = "#c1c1c1";
    }
}

Donc ce que je souhaite réaliser est juste un petit extrait de code, qui passe par un ensemble table élément, et vérifie toutes les cellules d'en-tête pour la innerhtml contenu ou de l'identifiant et ça change la couleur d'arrière-plan en conséquence.

Plus Tard Edit :

Capture d'écran de la table :

Change la couleur de fond des cellules d'un tableau en fonction de leur en-tête

Le truc, c'est que le tableau est construit selon le mois où nous sommes actuellement, et nous n'avons pas nécessairement connaître l'indice de samedi ou dimanche. (dans la photo, le 1er décembre terres lundi, donc c'est un assez chanceux situation)

Le samedi et le dimanche ne sont pas fixes dans le tableau. Le calendrier commence avec le 1er du mois en cours et puis arrive le jour pour elle. Je sais que c'est un peu bizarre, mais c'est la façon dont il a été conçu par quelqu'un d'autre, et j'ai de travailler avec elle.

Les barres bleues sont en train de marquer un intervalle de temps, mais que la chose est déjà au travail.

Le code où je suis de la construction de l'ensemble de la table serait vraiment long pour le rendre compréhensible.

  • pourriez-vous s'il vous plaît ajouter du code pour lequel vous créez la table. Me semble que l'attribution d'une classe à créer peut-être plus simple qu'en parcourant tous les élément et de le faire après la population de table.
  • pouvez-vous d'inclure le rendu html de la table, il semble que si vous avez deux lignes avant votre jour d'en-tête des coups de pied dans
  • Oui, la première ligne correspond à l'Année (2014) la deuxième ligne est le Mois de décembre (avec un rowspan 2), la troisième ligne contient les dates(qui commence toujours par 1, évidemment) et la quatrième est le jour de l'en-tête.
  • J'ai mis à jour ma réponse
InformationsquelleAutor Laureant | 2014-12-05