IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[POO] Changer la couleur de fond d'une ligne de tableau


Sujet :

JavaScript

  1. #1
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut [POO] Changer la couleur de fond d'une ligne de tableau
    Bonjour

    Comment faire pour changer en javascript la couleur de toute une ligne d'un tableau lorsque l'utilisateur passe la souris dessus ?
    En effet, le propriété CSS hover ne fonctionne pas sur la balise <tr> avec IE 6, et j'ai absolument besoin de supporter ce navigateur.
    J'ai essayé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<tr name='ligne$w' onMouseOver=\"javascript:ligne$w.bgColor='#339999'\">";
    mais apparemment, ça ne fonctionne pas (ni avec name, ni avec id).

    Merci d'avance pour toute aide

  2. #2
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    peut-être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.ligne$w.bgColor
    ou

    et mets ID
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  3. #3
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Merci pour ta réponse, mais si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr id="ligne6" onMouseOver="javascript:document.ligne6.bgColor='#339999'">
    j'ai une erreur document.ligne6 a la valeur null ou n'est pas un objet, et si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr id="ligne6" onMouseOver="javascript:this.bgColor='#339999'">
    je n'ai aucun effet.
    Pour commencer, est-ce que mon JS est correctement écrit ?

  4. #4
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    ça a marché chez moi avec le this.

    suprimme le 'javascript:' il n'est pas necessaire et remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.ligne6.bgColor
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('ligne6').bgColor
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  5. #5
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Citation Envoyé par guidav Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <tr id="ligne6" onMouseOver="javascript:this.bgColor='#339999'">
    je n'ai aucun effet.
    Hello.

    P'têt avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.style.background-color='#...'
    ?

    D'autre part et d'une façon générale, je préfère appliquer et supprimer des classes CSS aux éléments plutôt que de manipuler directement les styles, que ce soit pour mettre des couleurs, appliquer du hidden ou je sais pas quoi d'autre. C'est plus facile à maintenir et à faire évoluer.

    A+
    Glob
    What would you do if you were not afraid?

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  6. #6
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    ce code fonctionne chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <table>	
    	<tr id="ligne6" onMouseOver="javascript:this.bgColor='#339999'">
    		<td>aa</td><td>bb</td>
    	</tr>
    </table>
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 397
    Points : 430
    Points
    430
    Par défaut
    Citation Envoyé par Barsy Voir le message
    ce code fonctionne chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <table>	
    	<tr id="ligne6" onMouseOver="this.bgColor='#339999'">
    		<td>aa</td><td>bb</td>
    	</tr>
    </table>

    JE crois que le "javascript:" n'est pas utile.

  8. #8
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Merci, maintenant ça fonctionne, mais seulement si les <td> de la ligne n'ont pas de style défini.
    Est-ce possible de faire en sorte que le style du <tr> prime sur celui du <td> qu'il contient ?

    Encore merci.

  9. #9
    Expert confirmé Avatar de Barsy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    1 484
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 484
    Points : 5 277
    Points
    5 277
    Par défaut
    le mieux serait de faire une fonction Javascript qui va changer la couleur de fond de chacun de tes td. Tu ne pourras pas le faire sinon.
    "tatatatatatatatataaa !! tata taaa !! tata taaa !! tatatata tataaa !! tata taaa !! tata taaa !!"

  10. #10
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table>	
    	<tr id="ligne6" onMouseOver="javascript:this.bgColor='#339999'">
    		<td>aa</td><td>bb</td>
    	</tr>
    </table>
    Il est préférable de passer par l'objet style et backgroundColor plutôt que bgcolor De plus javascript après un événement est inutile, et écrivez les événements en minuscules.

    d'où cette petite correction :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <table>	
    	<tr id="ligne6" onmouseover="this.style.backgroundColor='#339999'">
    		<td>aa</td>
                    <td>bb</td>
    	</tr>
    </table>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD10] Changer la couleur de fond d'une ligne dans une table memoire
    Par Techys dans le forum WinDev
    Réponses: 17
    Dernier message: 22/09/2011, 11h12
  2. [AC-2007] Changer la couleur de fond d'une ligne (Formulaire)
    Par Crachover dans le forum IHM
    Réponses: 2
    Dernier message: 30/04/2010, 07h30
  3. changer la couleur de fond d'une dialogue
    Par PRUVOT dans le forum MFC
    Réponses: 1
    Dernier message: 27/10/2005, 11h50
  4. Comment changer la couleur de fond d'une ligne du TRichEdit
    Par tibi666 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/09/2005, 17h31
  5. [POO] Changer la couleur de fond d'un tableau
    Par Netoman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2004, 20h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo