j'ai une fonction js qui permet de cacher et d'afficher une div :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function afficher_cacher(id)
{
    if(document.getElementById(id).style.visibility=="hidden")
    {
        document.getElementById(id).style.visibility="visible";
        document.getElementById(id).style.height="auto";
    }
    else
    {
        document.getElementById(id).style.visibility="hidden";
        document.getElementById(id).style.height="0px";
    }
    return true;
}
Seulement, je fais une arborescence et je cache ou montre les différents niveaux avec cette fonction.

seulement si j'affiche une div et un de ses enfant, puis que je cache la div, son enfant reste visible (c'est peu esthétique je vous l'accorde)

j'aimerais améliorer ma fonction pour qu'elle cache aussi tous les enfants de la div dont elle reçoit l'identifiant.

j'ai entendu parler de JQuery et ai trouvé ce morceau de code sur internet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$(”#id1”).children() : sélectionner tous les fils de
l'élément ayant l'identifiant égale à ”id1”
seulement je ne sais pas comment l'utiliser pour qu'il me renvoie l'id de tous les enfants du ma div ou comment leur attribuer un display:none; à tous en même temps.

j'ai essayé d'ajouter ceci dans le else :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$("#"+id).children().css("display", "none");
$("#"+id).children().css("height", "0px");
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$("#"+id).find().css("display", "none");
$("#"+id).find().css("height", "0px");
mais cela ne fonctionne pas...

merci pour votre aide!