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

  1. #1
    Membre à l'essai
    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
    Points : 21
    Points
    21
    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 : 73
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    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 à l'essai
    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
    Points : 21
    Points
    21
    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 à l'essai
    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
    Points : 21
    Points
    21
    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>

  7. #7
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    change de version de jQuery pour que la méthode .on soit prise en charge !

  8. #8
    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 : 73
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par NoSmoking Voir le message
    Bonjour,
    change de version de jQuery pour que la méthode .on soit prise en charge !
    Oui ! Je l'avais vu, mais j'ai oublié de le mentionner dans ma réponse.

    La version 1.4 est totalement obsolète, on en est à 1.11 ou 2.1, voir : http://jquery.com/download/

    Voir aussi, dans ma signature, le lien vers ma FAQ jQuery.

    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.)

  9. #9
    Membre à l'essai
    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
    Points : 21
    Points
    21
    Par défaut
    Bonsoir

    Avec une nouvelle version de jQuery ça fonctionne.

    Merci à tous

    Bonne soirée

    Daniel

+ 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