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 :

CSS non prise en compte avec un innerHTML


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Thewil
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2006
    Messages : 223
    Par défaut CSS non prise en compte avec un innerHTML
    Bonjour à tous,

    J'ai un fichier js qui me créer un arbre en fonction d'un fichier JSON et qui me retourne le résultat de cet arbre sous forme html, de ce style.
    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
    <ul id="arbre" class="filetree treeview-black">
    	     <li>Couches
    	        <ul>
    		   <li>
    		       <span>Fond de plan</span>
    			<ul>
    			    <li>franceRaster</li>
    			</ul>
    		   </li>
    		   <li>
    		     <span>Cours d'eau</span>
    		        <ul>
    			    <li>Cours d'eau</li>
    			</ul>
    		   </li>.....
    Mon fichier js renvoie le résultat de cette façon la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function initJson(){
     
    	$.getJSON("../js/couchesJSON.json", function(json){
    		strMakeTree = makeTree(json);
    		//Ciblage du paragraphe
    		var treeNode = document.getElementById("tree");
    		if (treeNode) {
    			treeNode.innerHTML = strMakeTree;
    		}
    	});	
     
    }
    Et de l'autre coté j'ai une page jsp avec un div qui a id="tree".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<div id="tree" class="content" style="overflow: auto; height: 179px;">
     
    	</div>
    Mais le soucis c'est que mon code css n'est pas appliqué à mon arbre alors que si je colle le résultat html que me renvoie mon js en dur directement dans la jsp mon arbre s'affiche correctement.

    Merci de votre aide

  2. #2
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,

    L'application d'une règle CSS à un innerHTML fonctionne :
    Code xhtml : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
    <head>
        <title>classe CSS dans un innerHTML</title>
        <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
        <style type="text/css">
          .contenu {background:#f00;}
        </style>
    </head>
    <body>
      <div id="conteneur"></div>
        <script type="text/javascript">
          document.getElementById("conteneur").innerHTML = "<span class=\"contenu\">blah</span>";
        </script>
    </body>
    </html>
    Tu utilises un framework, quel est-il? La source html générée est-elle correcte? Quel est le résultat final obtenu?

  3. #3
    Membre confirmé Avatar de Thewil
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2006
    Messages : 223
    Par défaut
    Je m'en suis rendu compte après. En fait il faut mettre directement les class dans le html généré je sais pas pourquoi je m'étais dit que le css s'appliquerai directement sur le html généré par le fichier javascript

  4. #4
    Membre confirmé Avatar de Thewil
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2006
    Messages : 223
    Par défaut
    Bon en fait un autre petit soucis vient à moi

    Car en fait je génére un arbre comme dans cette exemple http://docs.jquery.com/Plugins/Treeview

    Du coup le problème en mettant mes class CSS dans ce que génère mon fichier js c'est que je n'ai plus aucune action lorsque je clique sur les nœuds de l'arbre.

    Auriez vous une idée ?

    Merci

Discussions similaires

  1. [Débutant] Saisie non prise en compte avec Textbox
    Par Batwilf dans le forum C#
    Réponses: 3
    Dernier message: 09/01/2012, 13h34
  2. modification non prise en compte avec PDO
    Par kate59 dans le forum Langage
    Réponses: 7
    Dernier message: 30/09/2010, 15h02
  3. Modifications feuilles CSS non prises en compte immédiatement
    Par brouce80 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2007, 15h40
  4. [C#][2.0] CSS non prise en compte
    Par Eome dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/07/2006, 11h52
  5. [css] Feuille de style non prise en compte
    Par Neuromancien2 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 29/06/2005, 11h49

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