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 :

Afficher sous-div d'un div


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut Afficher sous-div d'un div
    Bonjour.
    Je suis en train de réaliser une sorte d'arborescence récursive et je me trouve dans une situation de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <div id='n1'>
      <div id='sn1'>
        <div id='ssn11'>
          <div id='sssn1'>
           </div>
        </div>
        <div id='ssn12'>
        </div>
      </div>
    </div>
    Je souhaiterais créé une fonction javascript qui prend en paramètre l'id d'un div et pour celui-ci afficher ou cacher tous les div qui se situent en dessous mais juste pour le 1er niveau.
    Dans mon exemple je voudrais par exemple que si j'appelle ma fonction sur "sn1" j'affiche ou je cache "ssn11" et "ssn12" mais que je n'affiche pas "sssn1".

    Je sais pas si j'ai été clair mais j'ai fait à peu près ce que je pouvais.
    Merci déjà pour votre aide.

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    heuu de toute façon si tu masques 'ssn11' , 'sssn1' ,sera également masqué puisque c'est un de ses enfants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    document.getElementById('ssn11').display = "none"; //pour masquer
    document.getElementById('ssn11').display = "block"; //pour afficher

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Pour çà oui mais je voudrais que si j'affiche ssn1 çà n'affiche pas sssn1

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    document.getElementById('sssn1').display = "none" !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    En fait on se comprend pas.
    Je voudrais faire une fonction javascript qui si je luis passe un id de div il m'affiche tous les div du dessous mais que les div du 1er niveau pas les sous-sous[...sous-sous-sous...]-div.

    En gros voici le code que je suis en train d'essayer de faire mais qui ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function montreDiv(layer){
     
    	var d=document.getElementById(layer).getElementsByName('prout');
            //J'ai essayé avec getElementByTag il me semblait que çà existait mais il n'en veux pas. 
    	for(var i=0;i<d.length;i++){
    		afficheCache(d[i]);
    	}
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 163
    Par défaut
    Bon finalement j'ai fait autrement, juste une confirmation, il existe pas une fonction en javascript qui s'appelle "getElementByTag" ou un truc du genre ?

  7. #7
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    getElementsByTagName('div') te renverra un tableau de div ...

    pour ton problème , regarde du coté de stoppropagation ( cherche sur ce forum )

Discussions similaires

  1. Afficher une page dans une DIV
    Par shako95 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 01/12/2006, 09h57
  2. [AJAX] Liste déroulante pour afficher les informations en ajax div ?
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 17/11/2006, 09h06
  3. afficher page externe dans un div
    Par ouedmouss dans le forum JSF
    Réponses: 1
    Dernier message: 16/11/2006, 19h01
  4. Hauteur sous IE dans un div ne respectant pas le height
    Par cuber dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 05/10/2006, 23h38
  5. afficher le contenu d'un div au clic sur un bouton
    Par mussara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 10/07/2006, 17h37

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