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 :

HTML g�n�r� par javascript : css ignor� par IE


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Par d�faut HTML g�n�r� par javascript : css ignor� par IE
    Bonsoir,

    J'ai un petit soucis :

    je g�n�re des �l�ments html � l'aide de javascript/DOM (createElement), puis je donne � ces �l�ments des class CSS � l'aide de la m�thode setAttribute avant d'ins�rer le noeud cr�� dans la page.

    Seulement Internet Explorer (6 et 7) ne prends pas en compte les propri�t�s CSS que l'�l�ment devrait avoir vis � vis de sa classe (sous firefox �a marche).

    Un petit exemple qui illustre le probl�me :

    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
     
    <style>
    .uneClasse {color:red;}
    </style>
     
    <script type="text/javascript">
     
    	function creerSpan()
    	{
    		newSpan = document.createElement("span");
    		newSpan .setAttribute("class","uneClasse");
    		newSpan .innerHTML="Test";
    		document.getElementById("conteneur").appendChild(newSpan);
    	}
     
    </script>
     
     
     
    <div id="conteneur">
    	<span class="uneClasse">Test</span>
    </div>
     
    <button onclick="javascript:creerSpan();">Hop</button>
    ce code devrait en th�orie ajouter des textes "Test" en rouge, ce que fait firefox mais pas IE (il cr�e les �l�ments mais ils restent noir), ce dernier semble ne pas appliquer de style lorsqu'un �l�ment est rajout� dynamiquement par javascript.

    Est-ce quelque chose qui m'�chappe ? Un probl�me d'IE ? Quelqun a t'il d�ja �t� confront� � ce probl�me ?

    Merci d'avance de vos lumi�res parce que l� je s�che !

  2. #2
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Bonjour,
    je crois que pour IE faut faire
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    newSpan.class="uneClasse";
    Mais essaye d�j� en enlevant l'espace devant le "." ...

    A+

  3. #3
    Mod�rateur
    Avatar de Bis�n�rs
    Profil pro
    D�veloppeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 931
    D�tails du profil
    Informations personnelles :
    �ge : 42
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par d�faut
    IE ne reconna�t pas la m�thode :
    Je corrigerais juste un petit truc du code de E.Bzz :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    newSpan.className="uneClasse";

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 14
    Par d�faut
    Merci !!

    Je cherchais pas du tout le probl�me � ce niveau l�.

    D'autant que cette m�thode semblait marcher pour d'autres attributs.

    Apparement setAttribute est cens� marcher avec IE mais souffre de nombreuses lacunes (pour ceux que �a int�resse ce lien propose quelques rustines).

    L'�quivalent avec setAttribute qui marche sous IE est
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    newSpan.setAttribute("className","uneClasse");
    (test� IE7)

    cependant celui l� ne marche pas avec firefox ... je pr�f�re donc ta solution Bis�n�rs qui marche avec les deux !

    Merci � vous deux !

  5. #5
    Expert �minent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par d�faut
    Citation Envoy� par Bis�n�rs
    Je corrigerais juste un petit truc du code de E.Bzz :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    newSpan.className="uneClasse";
    Ouhla !
    Effectivement

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Animation CSS pilot� par JavaScript
    Par honizukaz dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 16/08/2014, 23h32
  2. Ouvrir une page html et en modifier le contenu par Javascript
    Par defluc dans le forum G�n�ral JavaScript
    R�ponses: 0
    Dernier message: 28/11/2012, 14h50
  3. R�ponses: 2
    Dernier message: 17/03/2009, 20h06
  4. Initialisation de la propri�t� CSS display par Javascript
    Par boutmos dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 06/01/2009, 10h34
  5. R�ponses: 3
    Dernier message: 22/02/2008, 09h55

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