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 :

Compatibilité Remove Style


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Points : 97
    Points
    97
    Par défaut Compatibilité Remove Style
    Bonjour,

    J'aie dans mon fichier html un liste de nom.
    Quand on clic dessus, je met une couleur sur le lien et quand je clic sur un autre lien, ca m’enlevè tout et recolorie le nouveau lien cliqué.

    Pour cela j'utilise 2 petites fonctions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function ChangeColor(id5) 
    {
    	document.getElementById(id5).style.color="#f4ebda";
    	document.getElementById(id5).style.background ='#6c3306 none repeat scroll 0% 50%';
    }
     
    function RemoveAllColors(id5) 
    {
    	var RemoveAttribute = document.getElementById("box").getElementsByTagName("a");
    		for(var i=0; i< RemoveAttribute .length; i++) {RemoveAttribute [i].removeAttribute("style");}
    }
    Mon petit soucis est que ca marche nickel avec mon firefox (je suis sous mac)
    mais des que je passe sur tablette (iOs ou Android) ChangeColor fais bien son job mais pas RemoveAllColor

    Un soucis de compatibilité ?

    Merci pour ceux qui ont une idée.
    Si besoin je peux vous poster un petit code html de test ....

    Thais

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Au niveau de la syntaxe, ton code est correct, si ce n'est un petit problème d'indentation. Note que tu fais document.getElementById("box") au lieu de document.getElementById(id5), mais puisque ça marche sous Firefox, ce n'est pas le problème.

    Je pense (mais sans pouvoir vérifier) que le problème est dans la façon dont la propriété DOM style et l'attribut html style sont connectés. Sous Firefox, le fait de retirer l'attribut supprime du même coup les ajouts faits à la propriété DOM. Sur tablette, le moteur n'est pas le même (Webkit au lieu de Gecko), du coup je suppose qu'il faut retirer les ajouts à la main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	RemoveAttribute[i].style.color = "";
    	RemoveAttribute[i].style.background = "";

  3. #3
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    Exact, l'attribut "style" n'est pas la même chose que la propriété "style". En fait, l'attribut vient surcharger les règles de style de base qui sont définies par le navigateur. La propriété style contient l'intégralité des règles de styles utilisables.

    Supprimer la règle de style n'a pas de sens, puisque la règle de style a forcément une valeur. Il faut donc plutôt la réassigner à sa valeur initiale.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 573
    Points : 97
    Points
    97
    Par défaut
    Yes,

    Merci messieurs c'est nickel.

    Merci beaucoup pour votre aide, je cherchais depuis un moment ....

    Thais

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

Discussions similaires

  1. Compatibilité list-style-position outside sur tablette
    Par thais781 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 18/12/2013, 09h36
  2. Détection de la compatibilité de style CSS
    Par Sergejack dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/01/2008, 17h37
  3. (style.dysplay='none') pb de compatibilité entre différents navigateurs
    Par amnesias dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/12/2006, 16h33
  4. Quels est la compatibilité de .style.display
    Par arnolem dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/07/2006, 16h11
  5. Problème de compatibilité pour [style="width:100%;] sur
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/01/2006, 17h19

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