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 :

Script fonctionne sous firefox et safari mais pas sous IE !


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut Script fonctionne sous firefox et safari mais pas sous IE !
    J'ai fait un script pour mettre un div en "display: none" sous la condition : pas de <a> à l'intérieur d'un div subordonné. Je précise d'entrée que j'étais obligé de garder la structure du code html sur lequel porte le script :


    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
    <h1 id="sortie">SORTIE STANDARD JS : </h1>
    <div class="itemAttachPage">
    			<div class="itemAttachInterPage">
    				<a class="itemLnkAttachInterPage" href="#">Ceci est un lien interne</a>
    			</div>
    			<div class="itemAttachExterPage">
    				<a class="itemLnkAttachExterPage" href="http://www.apple.com" target="InfoelsaNetOutView">Ceci est un lien vers un super site</a>
    			</div>
    			<div class="itemAttachFilePage">
    				<a class="itemLnkAttachFilePage" href="#">Ceci est un PDF de test</a>
    			</div>
    		</div>
     
    		<div class="itemAttachPage" style="border: solid 1px;">
    			<div class="itemAttachInterPage">
    			</div>
    			<div class="itemAttachExterPage">
    			</div>
    			<div class="itemAttachFilePage">
    			</div>
    		</div>

    Le script:

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    function supr()	
    	{		
    		var divs = document.getElementsByTagName('div'); // TABLEAU DIV
     
    		for(var i=0; i<divs.length; i++) //    BOUCLE DIV
    		{ 
    			var classDiv = divs[i].className; //   CLASSE DIV
     
    			if(classDiv == 'itemAttachPage') //	TEST CLASSE DIV
    			{	
    				var enfants = divs[i].childNodes; //	TABLEAU ENFANTS
    				var presence = 0;
    				for(var u=0; u<enfants.length; u++) //	BOUCLE ENFANTS
    				{
    					var classEnfant = enfants[u].className;	//	CLASSE ENFANT
     
    					if(classEnfant == 'itemAttachInterPage' || classEnfant == 'itemAttachExterPage' || classEnfant == 'itemAttachFilePage')//	TEST CLASSE ENFANT
    					{						
    						var enfants2 = enfants[u].childNodes;
     
    						for(var x=0; x<enfants2.length; x++)
    						{	
    							var classEnfant2 = enfants2[x].className;
    							var nomNoeudEnfant2 = enfants2[x].nodeName;
     
    							document.getElementById("sortie").firstChild.appendData(" | "+nomNoeudEnfant2);
     
    							if( nomNoeudEnfant2 == "A")
    								presence = 1;							
    						}			
     
    						if(presence == 0)
    						{
    							var visu = document.createAttribute("style"); //On crée un noeud attribut de nom "style"
    							visu.nodeValue = "display: none"; //On lui affecte la valeur "display: none"
    							divs[i].setAttributeNode(visu); //On l'ajoute au noeuds attributs du div
    						}					
    					}					
    				}					
    			}
    		}		
    	}
    Alors, le problème c'est que ça fonctionne sous firefox mais pas sous ... IE biensur

    up: J'ai testé sous mac/safari ça fonctionne aussi.

    voila un exemple de ce que renvoi la sortie standard sous firefox ou safari : SORTIE STANDARD JS : | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | A | #text | #text | #text | #text

    Et là ce qui sort sous IE6 et 7 avec le même fichier : SORTIE STANDARD JS : | A | #text | A | #text | A | #text | A | #text | A | #text | A | #text | A | #text | A | #text | A | #text | A | #text | A | #text | A | #text


    A+

  2. #2
    Expert éminent sénior

    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
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    et en remplaçant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var visu = document.createAttribute("style"); //On crée un noeud attribut de nom "style"
    visu.nodeValue = "display: none"; //On lui affecte la valeur "display: none"
    divs[i].setAttributeNode(visu);
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    div[i].style.display = "none";
    ?

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut Ca fonctionne
    Trop cool ça fonctionne !
    MERCI E.Bzz
    A+

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

Discussions similaires

  1. Fonctionne sous Firefox ou Chrome mais pas sous IE 11
    Par doriginal dans le forum jQuery
    Réponses: 15
    Dernier message: 24/06/2014, 20h54
  2. fonctionne avec Firefox et Chrome mais pas sous IE
    Par elcoyotos dans le forum jQuery
    Réponses: 3
    Dernier message: 29/04/2012, 16h28
  3. Fonctionne sous FF et safari mais pas sous IE8
    Par Furiae dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 07/05/2009, 15h54
  4. script qui marche sous ie mais pas sous firefox
    Par sebicool dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 24/05/2007, 00h07
  5. Fonctionne sous IE6 mais pas sous Firefox - Help
    Par fma2112 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/06/2006, 08h29

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