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 :

Changer classe du body


Sujet :

JavaScript

  1. #1
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 41
    Points : 393
    Points
    393
    Par défaut Changer classe du body
    Hello ttlm,

    J'essaie de changer la classe du body dans une page html, j'ai utilisé ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(document).ready(function(){
      document.body.className+="home";
      console.log('ici');
    });
    Bien que "ici" soit affiché dans la console, la classe du body ne change pas du tout.
    Quelqu'un a une idée du pourquoi?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    Dans ton code tu as ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.className+="home";
    si tu a déja une classe il va concaténer ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "classeA" + "classeB" = "classeAclasseB"
    si tu n'as pas de classe classeAclasseB ... mais deux classes classeA et classeB


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "classeA" + " classeB" = "classeA classeB"
    Note l'espace avant classeB
    =>

    http://jsfiddle.net/G9E8j/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2012
    Messages
    170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 170
    Points : 234
    Points
    234
    Par défaut
    Bonjour ,
    je n'ai pas très bien compris ta question mais si tu veux changer la classe du body plusieurs methodes s'offrent à toi
    tu ne dois pas mettre le + sinon tu concatène et faut mettre un espace au debut ;je pense que tu dois directement mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    documet.body.classname='home';
    si tu veux remplacer un classe précise par une autre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.className.replace("ancienne","nouvelle");
    tu peux aussi parcourir avec jquery et utiliser la methode addClass:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "body" ).addClass( "myClass yourClass" );
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "body" ).removeClass( "myClass noClass" ).addClass( "yourClass" );
    sinon tu peux modifier le css
    j'espère avoir apporté des réponses à ta question
    Bonne journée

  4. #4
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 41
    Points : 393
    Points
    393
    Par défaut
    Alors de base dans le fichier html, le body n'a pas de classe. Je voudrais lui en définir une dans un script.
    J'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.className='home';
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $( "body" ).addClass( "home" );
    avec un console.log pour vérifier que ces lignes sont bien exécutées.
    L'interpréteur passe bien par là, mais la classe du body n'est pas changée.

    J'ai même mis dans le html et testé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.body.className.replace("gen","home");
    A aucun moment le body ne prend la classe que je veux...

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    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
    <html>
    <head>
    <title>Nouvelle page 1</title>
    <style type="text/css">
    .foo {color :red ;}
    </style>
    <script type="text/javascript" >
    function swapClass(){
    document.body.className='foo'
     }
    </script>
     
    </head>
     
    <body onload="swapClass()">
    texte
    </body>
    </html>
    Aucun souci ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre averti

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2013
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 41
    Points : 393
    Points
    393
    Par défaut On va dire que c'est résolu
    Bon ça marche toujours pas sur ma page mais c'est le problème de mon collègue désormais et plus le mien.
    Je passe donc en résolu merci pour votre aide.

  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 112
    Points
    44 112
    Par défaut
    Bonjour,
    Bon ça marche toujours pas sur ma page mais c'est le problème de mon collègue désormais et plus le mien.
    ce sera un véritable plaisir que de bosser avec toi

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

Discussions similaires

  1. Changer class d'un element td sans l'id
    Par miouzeu dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/06/2009, 11h10
  2. Changer class d'un span lors d'un passage de souris sur lien a
    Par HiRoN dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 08/07/2008, 15h38
  3. Changer classe CSS
    Par jorisvh dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2007, 02h06
  4. changer class name d'une fenetre mfc
    Par pingfr dans le forum MFC
    Réponses: 2
    Dernier message: 11/07/2005, 13h38
  5. [VB.NET] Changer de classe selon condition
    Par daner06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/10/2004, 10h04

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