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 :

Modifier dynamiquement des class


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 51
    Points : 41
    Points
    41
    Par défaut Modifier dynamiquement des class
    Bonjour

    J'ai dans une page html un tableau avec x lignes à l'intérieure.
    Je voudrais modifier de façon dynamique l'affichage des lignes.
    C'est à dire que sur un Onchange d'un bouton select, je veux pouvoir afficher tel ou tel ligne du tableau (celle ayant la même class).
    J'utilise la class Prototype.js, mais je ne sais pas comment dire au javascript d'ajouter la valeur "display:none"
    Auriez vous une idée?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    function affichage() {
    	val = $("selectaffich").value;
    	switch (val)
    	{
    	case "1" :
    		alert(document.getElementsByClassName("test"));
    		break;
    	case "2" :
    		alert(document.getElementsByClassName("test"));
    		document.getElementsByClassName("test").display="none";
    	break;
    		case "3" :
    		alert(document.getElementsByClassName("test"));
    			document.getElementsByClassName("test").style.display="none";
    		break;
    		default :
    		}
    	}
     
    <select id="selectaffich" onchange="affichage()">
    						<option value="1">Afficher toutes les offres</option>
    						<option value="2">Afficher les offres en lignes</option>
    						<option value="3">Afficher les offres hors ligne</option>
    					</select>
     
    <table>
      <tr class="t1">
        <td>toto</td>
      </tr>
      <tr class="t2">
        <td>toto</td>
      </tr>
     <tr class="t1">
        <td>toto</td>
      </tr>
      <tr class="t2">
        <td>toto</td>
      </tr>
    </table>

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je ne vois pas bien la difficulté ... alors je te propose d'essayer quelque chose de très simple (sans la blibliothèque) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    event.target.style.display="none";
    sur IE cela est plutôt : event.srcElement. ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 51
    Points : 41
    Points
    41
    Par défaut
    Le souci est que je voudrais pouvoir cacher en un click toutes les lignes du tableau ayant pour class "t1", et ne laisser afficher que les lignes du tableau qui ont la classe "t2"

  4. #4
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    c'est aujourd'hui possible, mais il y a qq risque d'incompatibilité.

    regarde ce site http://www.quirksmode.org/dom/changess.html

    Et tu peux tester cet exemple, il marche sur IE6, FireFox 1.5, Netscape 8.1,
    mais pas sur opéra !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <style type='text/css'>
    h1.test { color: red; }
    </style>
    </head>
    <body>
    <h1 class='test'>Titre 1</h1>
    <h1>Titre 2</h1>
    <h1 class='test'>Titre 3</h1>
    <script language='javascript' type='text/javascript'>
    	function changeIt()
    	{
    		if (!document.styleSheets) return;
    		var theRules = new Array();
    		if (document.styleSheets[0].cssRules)
    			theRules = document.styleSheets[0].cssRules
    		else if (document.styleSheets[0].rules)
    			theRules = document.styleSheets[0].rules
    		else return;
    		theRules[theRules.length-1].style.color = 'yellow';
    	}
     
    </script>
    <a href='javascript:changeIt()'>Modifier le css</a>
    </body>
    </html>

Discussions similaires

  1. Appel dynamique des classes [Reflection]
    Par chental dans le forum Qt
    Réponses: 7
    Dernier message: 23/11/2009, 07h07
  2. [JAXB] Generation dynamique des classes
    Par Invité dans le forum Persistance des données
    Réponses: 6
    Dernier message: 09/09/2008, 12h20
  3. comment modifier dynamiquement une classe
    Par Olivierinfo dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/10/2007, 17h18
  4. [POO] Appels Dynamiques à des classes
    Par Korko Fain dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2006, 09h26
  5. Modifier dynamiquement une classe CSS
    Par systemofaxav dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2006, 16h49

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