Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/05/2011, 15h11   #1
Membre Expert
 
Avatar de ludojojo
 
Homme Ludovic Solczynski
Développeur .NET
Inscription : avril 2008
Messages : 1 446
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Solczynski
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2008
Messages : 1 446
Points : 2 179
Points : 2 179
Par défaut coloration d'un tableau

Bonjour,

Je souahiterais afficher un tableau qui aurrait une ligne blanche et une ligne bleu le tout répété "n" fois...

J'ai bien compris que le système à utiliser est de déclarer deux class avec des propriétés spécifiques... Cela ne pose pas de problème.
En revanche je souhaiterais savoir s'il est possible de faire cela de façon automatique? Le but est de ne pas avoir à écrire à chaque fois class="..." pour chaque ligne!

Je tiens à préciser qu'il n'y à pas d'appel à une base de données possible, donc pas de script php ou asp, en revanche JS possible...

Merci par avance pour votre aide.
__________________
Aide les autres...
Et les autres t'aideront....
Mon site DVP
Mon site perso

N'oubliez pas de voter pour les messages dont la réponse est pertinente
ludojojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 15h20   #2
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149
Tu peux récupérer toutes les lignes de ton tableau et mettre une classe différente selon l'indice :
Code :
1
2
3
4
5
6
7
8
9
var table = document.getElementById("ta_table");
var lignes = table.getElementsByTagName("TR");
for (var i = 0; i < lignes.length; i++) {
  if (i % 2 == 0) {
    lignes[i].setAttribute("class", "classe1");
  } else {
    lignes[i].setAttribute("class", "classe2");
  }
}
Il faut tout de même savoir que IE (en tout cas IE 6) ne gère pas le changement de classe dynamique. Auquel cas tu peux directement changer le style :
Code :
lignes[i].style.backgroundColor = "blue";
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 17h53   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 806
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 806
Points : 35 803
Points : 35 803
Citation:
Il faut tout de même savoir que IE (en tout cas IE 6) ne gère pas le changement de classe dynamique.
Ben si...
Code :
1
2
3
4
5
  if (i % 2 == 0) {
    lignes[i].className = "classe1";
  } else {
    lignes[i].className = classe2";
  }
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 18h44   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Code :
1
2
3
4
5
var table = document.getElementById("ta_table");
var lignes = table.getElementsByTagName("TR");
for (var i = 0; i < lignes.length; i++) {
    lignes[i].className= (i % 2 == 0)? "classe1":"classe2";
}
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/05/2011, 21h58   #5
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 2 933
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 2 933
Points : 4 756
Points : 4 756
j'aime bien
Code :
1
2
3
4
5
var table = document.getElementById("ta_table");
var lignes = table.getElementsByTagName("TR");
for( var k = i = 0; i < lignes.length; i++) {
  lignes[i].className = "class" +(k = 1-k);
}
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 08h02   #6
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 450
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 450
Points : 2 149
Points : 2 149
Citation:
Envoyé par Bovino Voir le message
Citation:
Envoyé par Loceka Voir le message
Il faut tout de même savoir que IE (en tout cas IE 6) ne gère pas le changement de classe dynamique.
Ben si...
Ah
Il me semblait pourtant que quand je m'étais essayé aux menus déroulants y'a quelques années, l'astuce du changement de classe en JS ne fonctionnait pas sous IE. Mais c'est probablement ma mémoire qui déconne, va falloir que je pense à en changer.
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 10h38   #7
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 33
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 33
Points : 12
Points : 12
J'ai ce code qui n'utilise pas les classes, il doit être placé à la fin du fichier html.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var arrayLignes = document.getElementById("tableau").rows;
var longueur = arrayLignes.length;
var i=0;
 
while(i<longueur)
{
	if(i % 2 === 0)
	{
		arrayLignes[i].style.backgroundColor = "#bdcbf5";
	}
	else //elle est impaire
	{
		arrayLignes[i].style.backgroundColor = "#829eeb";
	}
	i++;}
berlo44 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2011, 11h15   #8
Membre Expert
 
Avatar de ludojojo
 
Homme Ludovic Solczynski
Développeur .NET
Inscription : avril 2008
Messages : 1 446
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Solczynski
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : avril 2008
Messages : 1 446
Points : 2 179
Points : 2 179
Merci à tous pour votre aide !
En effet tous ces codes fonctionnent parfaitement!
__________________
Aide les autres...
Et les autres t'aideront....
Mon site DVP
Mon site perso

N'oubliez pas de voter pour les messages dont la réponse est pertinente
ludojojo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h19.


 
 
 
 
Partenaires

Hébergement Web