Problème idiot : cacher/afficher un div

Signaler
Messages postés
144
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 janvier 2010
-
Messages postés
144
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 janvier 2010
-
Bonsoir,

Je suis pas sur de poster au bon endroit (comme toujours) et je laisse aux admins la liberté de déplacer le post.

Bref... passons aux choses sérieuses. Je tente de faire afficher/masquer un div comme sur ce site (par exemple : derniers blogs). J'ai bien regardé le code, chercher des sources sur le net etc. et je tente maintenant de faire la même chose par mes propres moyens. Mais ça marche pas, je pense que javascript me hait ! lol

Donc le code :

<script type="text/javascript">
    function permute(id)
        {        
        if(document.getElementById(id).getElementByTag("P").className == "cacher")
            {
/*            alert(document.getElementById(id).getElementByTag("P").className); */
                document.getElementById(id).getElementByTag("P").className = "afficher";
            document.getElementById(id).getElementByTag("H2").className = "moins";
            }
        else
            {
/*            alert(document.getElementById(id).getElementByTag("P").className); */
            document.getElementById(id).getElementByTag("P").className = "masquer";
            document.getElementById(id).getElementByTag("H2").className = "plus";
            }
        }

</script>


J'ai bien une classe affihcer (display: block), masquer (display: none) une classe plus et une moins.

Mais ça ne fonctionne pas. (J'avais rajouté alert pour voir ou en était le code mais ça ne fonctionne pas non plus).

Si quelqu'un avait une idée...

Merci Flo

3 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
bonjour,
>>J'ai bien une classe affihcer (display: block),
>>masquer (display: none) une classe plus et une moins.
c'est bien, mais :
°   if(document.getElementById(id).getElementByTag("P").className == "cacher")
   pas de classe "cacher" ?
°   je ne connais pas "getElementByTag" ( surtout dans getElementById )
   ça existe ?
cordialement   Bul   
Site
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
j'ai omis de dire :
avec FF, regarder la console JavaScript :
   là sont les erreurs.
   ( avec opera inutile, il les affiche
      immédiatement )
avec IE, activer le debugger ( ou mieux
   encore : installer le debogage IE )
cordialement   Bul   
Site
Messages postés
144
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 janvier 2010

Salut

Désolé je me suis planté c'était pas "masquer" mais bien "cacher". OK je regarde dans la console Javascript.

Merci.

Flo