j'ai une fonction js qui permet de cacher et d'afficher une div :
Seulement, je fais une arborescence et je cache ou montre les différents niveaux avec cette fonction.
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 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 :
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.
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
j'ai essayé d'ajouter ceci dans le else :
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $("#"+id).children().css("display", "none"); $("#"+id).children().css("height", "0px");
mais cela ne fonctionne pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $("#"+id).find().css("display", "none"); $("#"+id).find().css("height", "0px");
merci pour votre aide!
Partager