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

jQuery Discussion :

Méthodes "addClass" et "removeClass" javascript


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Chargé d'affaires
    Inscrit en
    Mars 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaires
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2011
    Messages : 29
    Par défaut Méthodes "addClass" et "removeClass" javascript
    Bonsoir à tous !

    Je débute avec javascript et je n'arrive pas à débloquer un problème. .
    J'ai une liste déroulante qui change la couleur d'un texte se trouvant dans une DIV.
    Ce code fonctionne bien. Sauf qu’il effectue les changements de couleur à partir du nom de l’option sélectionnée.

    Je souhaite que les changements de couleur se fassent à partir de l’ID ou de la valeur de chaque option.

    Merci de votre aide.

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
     
    <!DOCTYPE html>
    <html lang="en">
    	<head>
    		<title>Test</title>
    		<meta charset="UTF-8" />
    		<style type="text/css">
    			.black {
    				color: black;
    			}
    			.red {
    				color: red;
    				background: yellow;
    			}
    			.green {
    				color: green;
    			}
    			.blue {
    				color: blue;
    			}
     
    		</style>
    		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    	</head>
     
    	<body>
     
    		<h1>Javascript pour changement de couleur 1</h1>
    		<div id="box1">
    			Changement de couleur
    		</div>
     
    		<select id="select1">
    			<option value="Black" id="Black">Black</option>
    			<option value="Red" id="Red">Red</option>
    			<option value="Green" id="Green">Green</option>
    			<option value="Blue" id="Blue">Blue</option>
    		</select>
    		<script>
    			$('select[id=select1]').change(function() {
    				$('#box1').removeClass('black red green blue').addClass($(this).find('option:selected').text().toLowerCase());
    			}).change();
     
    		</script>
     
    	</body>
    </html>

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <select id="select1">
      <option value="black">Black</option>
      <option value="red">Red</option>
      <option value="green">Green</option>
      <option value="blue">Blue</option>
    </select>

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $( "#select1" ).on( "change", function(){
      $( '#box1' )
        .removeClass()
        .addClass( $(this).val() );
    });

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre averti
    Profil pro
    Chargé d'affaires
    Inscrit en
    Mars 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaires
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2011
    Messages : 29
    Par défaut
    Désole, mais ce code ne fonctionne pas

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...........toLowerCase().........
    Donc, ça signifie que les classes sont écrites en minuscules, et surtout que tu en es conscient !
    Alors pourquoi mettre des majuscules dans les valeurs (value des options) ??

    Mets dans les valeurs* (value des options) les noms des classes (en respectant la casse !) et ça fonctionnera (sans besoin d'ajouter .toLowerCase() )

    Bref : comme tu viens de t'en rendre compte, la syntaxe est sensible à la casse.


    * comme l'a fait danielhagnoul !

  5. #5
    Membre averti
    Profil pro
    Chargé d'affaires
    Inscrit en
    Mars 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chargé d'affaires
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2011
    Messages : 29
    Par défaut
    Bonsoir

    Je pense avoir bien suivi danielhagnoul & jreaux62. Mais cela ne fonctionne toujours pas.

    Ci-dessous le code modifié.

    Merci de votre aide.

    Bonne soirée

    Daniel

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <!DOCTYPE html>
    <html lang="en">
    	<head>
    		<title>Test</title>
    		<meta charset="UTF-8" />
    		<style type="text/css">
    			.black {
    				color: black;
    			}
    			.red {
    				color: red;
    				background: yellow;
    			}
    			.green {
    				color: green;
    			}
    			.blue {
    				color: blue;
    			}
     
    		</style>
    		<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
    	</head>
     
    	<body>
     
    		<h1>Javascript pour changement de couleur 1</h1>
    		<div id="box1">
    			Changement de couleur
    		</div>
     
    		<select id="select1">
    			<option value="black">black</option>
    			<option value="red">red</option>
    			<option value="green">green</option>
    			<option value="blue">blue</option>
    		</select>
     
    		<script>
    			$("#select1").on("change", function() {
    				$('#box1')
    				.removeClass()
    				.addClass($(this).val());
    			});
    		</script>
     
    		<hr/>
     
    	</body>
    </html>

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <script>
    $(function(){
    	$('#select1').on('change', function() {
    		$('#box1').removeClass().addClass( $(this).val() );
    	});
    });
    </script>

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

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