OVH Cloud OVH Cloud

Rendre invisible un div et ses enfants

4 réponses
Avatar
Jibé
Bonjour,

J'ai un truc du genre :
<div id=papa>
<div id=fils1></div>
<div id=fils2>
<div id=petitfils1></div>
</div>
</div>

je cherche à jouer sur l'attribut display de l'ensemble des div depuis
un événement.

je sais faire par exemple que quand je clic sur fils2 Petitfils1 devient
visible.
document.getElementById('petitfils1').style.display='block';

mais comment faire pour cacher papa et ses enfants et ses petits enfants
en un seul événement.

Je suis pas sûr d'être très clair :((((

JB

4 réponses

Avatar
YD

J'ai un truc du genre :
<div id=papa>
<div id=fils1></div>
<div id=fils2>
<div id=petitfils1></div>
</div>
</div>

je cherche à jouer sur l'attribut display de l'ensemble des div depuis
un événement.
mais comment faire pour cacher papa et ses enfants et ses petits enfants
en un seul événement.


document.getElementById("papa").style.display="none";

La div "papa" est retiré de l'affichage avec tout ce qu'elle contient.

--
Y.D.

Avatar
Jibé

J'ai un truc du genre :
<div id=papa>
<div id=fils1></div>
<div id=fils2>
<div id=petitfils1></div>
</div>
</div>

je cherche à jouer sur l'attribut display de l'ensemble des div depuis
un événement.
mais comment faire pour cacher papa et ses enfants et ses petits
enfants en un seul événement.



document.getElementById("papa").style.display="none";

La div "papa" est retiré de l'affichage avec tout ce qu'elle contient.

Oui, je sais bien et merci de cette réponse mais si, par exemple,

petitfils1 est affiché, il le sera à nouveau lorsque je ferai
document.getElementById("papa").style.display="block";
Je cherche à "réinitialiser" tout le monde à display:none; avec un seul
événement.

JB


Avatar
YD
document.getElementById("papa").style.display="none";

La div "papa" est retiré de l'affichage avec tout ce qu'elle contient.

Oui, je sais bien et merci de cette réponse mais si, par exemple,

petitfils1 est affiché, il le sera à nouveau lorsque je ferai
document.getElementById("papa").style.display="block";
Je cherche à "réinitialiser" tout le monde à display:none; avec un seul
événement.


var dad = document.getElementById("papa");
var kids = dad.getElementsByTagName("DIV");
for (var i = 0; i<kids.length; i++)
kids[i].style.display="none";

devrait convenir ?

--
Y.D.


Avatar
Jibé


var dad = document.getElementById("papa");
var kids = dad.getElementsByTagName("DIV");
for (var i = 0; i<kids.length; i++)
kids[i].style.display="none";

devrait convenir ?

Yes, c'est absoluement le cas....

Merci beaucoup.

JB