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 des styles en javascript


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut Modifier des styles en javascript
    Bonjour,

    Voilà ce que j'essaie de faire : modifier des styles dynamiquement avec javascript. Quand j'utilise la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("monTruc").style.backgroundColor="#FF6600";
    ça marche au poil Par contre (évidement qu'il y a un par contre ) si je veux modifier la couleur de mes liens, en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getElementByTagName.style
    là ça ne fonctionne pas. Auriez vous une idée de comment s'y prendre ? est ce possible au moins ? même pb pour les classes j'ai l'impression que style ne marche qu'avec les élements qui ont un Id

  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 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    getElementsByTagName[indice].style
    getElementsByTagName retourne une collection ...


    par contre tu peux passer par le css ...
    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 du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    que veux tu dire par passer par le css stp ? récupérer ma feuille de style, la modifier, et raffraichir la page ? (possible en js ?)

  4. #4
    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 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    non avoir deux style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    .style1 {color:red;}
    .style2 {color:green;}
    et modifier dynamiquemnt le className d'un élément

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var monobjet=document.getElementsByTagName('div')[0].className='style2'
    avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="mondiv" class="style1">...
    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 !

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    donc, il est malheureusement impossible de modifier le style d'une classe ou de lien par exemple qui n'ont pas d'id ? à part avec la méthode de SpaceFrog, mais je ne peux pas l'appliquer dans mon cas. ça m'étonne, mais j'ai beau chercher je trouve pas..faites moi part de vos idées si vous en avez svp

  6. #6
    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 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    si le tout est de réussir à chopper l'objet ...

    as tu un exemple de code html avec l'objet à modifier ...
    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 !

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    oui bien sûr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <div class="menu" id="menuLien">
    <div class="menuTitre"><h2>Liens utiles</h2></div>
    <div class="menuContenu"><ul>
    <li><a href="http://<a href="http://www.developpez.com">Club" target="_blank">www.developpez.com">Club</a> des développeurs ;)</a></li>
    </ul>
    </div></div>
    et le genre de trucs que je cherche à faire c'est modifier le background de la class menuContenu et de changer la couleur des liens.(dans cet exemple pour le background je pourrais utiliser l'id menuLien, mais c'est pas partout comme ça)

  8. #8
    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 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    et sur quel évènement souhaites tu changer le style ?
    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 !

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    le click d'un bouton par exemple, ça n'a pas vraiment d'importance en fait. en tout cas pour mes tests, je le fais sur un onClick qui appelle une fonction

  10. #10
    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 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    ben si c'est super important parceque ça aurait été sur le click de l'objet ça aurait été fingers in the nose !!

    a mon avis tu va avoir un gros problème si la structure n'est pas constante, si ty n'as pas un schéma qui se répète ...
    et tu ne peux pas mette d'id dans tes divs?
    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 !

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    si ça avait été un click sur l'objet, ça change quoi,je vois pas trop où tu veux en venir ?

    La plupart des divs ont un id (pour ceux qui n'en ont pas, je peux pas en rajouter), mais arrête moi si je dis une connerie (ce que j'espère) : si je veux foutre mes liens en orange à l'intérieur d'un div qui a un id en javascript, je peux pas, sauf si mon lien avait un Id

  12. #12
    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 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    ben si c'est le click sur l'objet même:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onclick="this.style.color='red'"
    et on n'en parle plus ...
    mais là sur un bouton pour mettre la main sur l'objet sans id et sans struture répétitive ...

    avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByTagName('div')[i].style.color='red'
    à condition de connaitre le numéro ordinal i du div dans le flux de la page
    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 !

  13. #13
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    Pourquoi ceci ne marche pas stp ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for(i=0;i<getElementsByTagName('a').length;i++){
    window.frames["petite"].document.getElementsByTagName('a')[i].style.color='red';
    }
    y a un truc que j'ai pas du pigé.
    parce que je me disais par exemple, pour colorier les liens d'un div(en admettant que j'ai l'id), je récupère tous ses enfants [ça je sais pas encore comment] et si le gamin est un lien, ben je le coloris, comme ça je peux colorier mes liens sans connaître leurs id
    je sais pas si qqun me suit

  14. #14
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    aaaah mais je viens de trouver une fonctiontrès interessante là
    on me l'avait caché putain. cssRules ! faut que j'explore tout ça, mais ça m'a l'air over sympa pour ce que je cherche à faire.

  15. #15
    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 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    mouaip, mais je ne veux pas te décevoir ...le souci n'est aps d'aceder aux cssrules c'est a dire au style, mais à l'element ...

    a moins que tu ais un style dédié à cet élément ...
    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 !

  16. #16
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    Ben ce que je cherche à faire à court terme (très court terme) c'est de changer la couleur de mes liens qui ont un style définit, et les H2. j'ai pas encore essayé CSSrules, j'espère que ça suffira, mais c'est vrai que si y a des éléments qui n'ont pas de style, j vais être ds la merde

  17. #17
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Pourquoi ceci ne marche pas stp ?:
    parce que tu oublies de notifier le noeud parsé: en l'occurence, c'est assez important puisqu'il s'agit de document

  18. #18
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    tu veux dire dans les conditions de la boucle for ? j'ai pas le source sous les yeux là pour vérifier, mais si tu parles du getElementsByTag du for(et que j'ai bien compris ce que tu m'as dis ), je pense l'avoir corrigé. mais ça ne marche toujours pas

  19. #19
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(i=0;i<document.getElementsByTagName('a').length;i++){ 
    window.frames["petite"].document.getElementsByTagName('a')[i].style.color='red'; 
    }
    ceci fonctionnera forcément si le frame nommé "petite" existe;

  20. #20
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 65
    Points : 55
    Points
    55
    Par défaut
    effectivement ça marche, j'avais oublié le window.frame[].doc quand j'avais testé

Discussions similaires

  1. [CKEditor] Modifier le style des balises par défaut
    Par MartiW dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 01/06/2008, 18h41
  2. modifier le style des forms windowsApplication
    Par psycho_xn dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 13/01/2008, 13h56
  3. Modifier des feuilles de styles en Javascript
    Par navis84 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 08/08/2006, 10h19
  4. [Javascript] modifier des variables a la fermeture du navigateur
    Par kespy13 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/05/2006, 14h35
  5. Modifier le style d'un display en javascript
    Par Benjiijneb dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 06/02/2006, 10h24

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