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 :

Tester de classe et mettre à jour un attribut avec jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Indépendant en informatique
    Inscrit en
    Décembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Indépendant en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 2
    Par défaut Tester de classe et mettre à jour un attribut avec jquery
    Bonjour à tous,

    Je suis nouveau sur ce forum et j'ai peu d'expérience en développement en général. J'arrive à faire les choses mais pas toujours dans les règles de l'art.

    En l'occurrence, j'ai un code qui teste les classes de mon body, et si il y trouve une certaine classe, je veux qu'il m'actualise l'attribut src d'une balise image. Mon code ressemble à ça pour le moment (attention les yeux !!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($('body').hasClass('section-sports')){$('.rub').attr('src', $('.rub').attr('src').replace('.png', 'bouton-sports.png'));}
    if($('body').hasClass('section-solidarite')){$('.rub').attr('src', $('.rub').attr('src').replace('.png', 'bouton-solidarite.png'));}
    if($('body').hasClass('section-citoyennete')){$('.rub').attr('src', $('.rub').attr('src').replace('.png', 'bouton-citoyennete.png'));}
    Ça marche, mais comment simplifier le tout, pour que ça soit plus respectueux du langage ?

    Merci d'avance à ceux qui pourront m'aiguiller vers une solution !!

    Anthony

  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 : 75
    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
    Bonsoir

    Le code est bon, mais on peut l'optimiser.

    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
    var jObjBody = $('body'), // l'élément "body"
    	jObjRub = $('img.rub'), // tous les éléments "img" ayant la classe "rub"
    	replaceRub = function(newSrc){ // replace ".png" by src
    		jObjRub.attr('src', jObjRub.attr('src').replace('.png', newSrc));
    	};
     
    // je suppose qu'il ne peut y avoir qu'une seule de ces classes en même temps, donc "else if"
     
    if ( jObjBody.hasClass('section-sports') ){
    	replaceRub('bouton-sports.png');
    } else if ( jObjBody.hasClass('section-solidarite') ){
    	replaceRub('bouton-solidarite.png');
    } else if ( jObjBody.hasClass('section-citoyennete') ){
    	replaceRub('bouton-citoyennete.png');
    }

    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
    Nouveau candidat au Club
    Homme Profil pro
    Indépendant en informatique
    Inscrit en
    Décembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Indépendant en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 2
    Par défaut
    Bonjour Daniel, merci d'avoir pris le temps de me répondre. J'ai testé ton code et il fonctionne très bien. Je souhaiterais l'adapter encore un peu plus à mes contraintes mais ce n'est pas si simple.

    J'ai tout placé dans une fonction dans un fichier .js à part et ça marche, c'est parfait !!

    merci encore.

    Anthony

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/05/2011, 09h32
  2. Mettre à jour des tables avec un trigger
    Par Titouf dans le forum Langage SQL
    Réponses: 9
    Dernier message: 20/01/2008, 15h57
  3. Mettre à jour le référentiel avec Eclipse
    Par phileme dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 16/08/2006, 09h01
  4. mettre à jour plusieurs tables avec un formulaire
    Par kangourou_agile dans le forum Access
    Réponses: 6
    Dernier message: 07/08/2006, 15h33
  5. Réponses: 3
    Dernier message: 18/07/2006, 17h37

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