Learn to create tree view with html,css and javascript.
HTML
<ul>Music Instrument
<li class="open">Piano
<ul class="sub-item">
<li>Grand Piano</li>
<li>Upright Piano</li>
<li class="open">Digital Piano
<ul class="sub-item">
<li>Digital Piano</li>
<li>Stage Piano</li>
<li>MIDI Controller</li>
<li class="open">Keyboard
<ul class="sub-item">
<li>Weighted Keyboard</li>
<li>Semi Weighted Keyboard</li>
<li>Unweighted Keyboard</li>
</ul>
</li>
</ul>
</li>
<li>Studio Piano</li>
</ul>
</li>
<li class="open">String
<ul class="sub-item">
<li class="open">Guitar
<ul class="sub-item">
<li>Acoustic</li>
<li>Electric</li>
<li>Bass</li>
<li>Classical</li>
</ul>
</li>
<li>Ukulele</li>
<li>Banjo</li>
<li>Mandolin</li>
<li class="open">Violin
<ul class="sub-item">
<li>Baroque</li>
<li>Electric</li>
<li>Stroh</li>
<li>Semi Acoustic</li>
</ul>
</li>
</ul>
</li>
<li class="open">Mouth Organ
<ul class="sub-item">
<li class="open">Harmonica
<ul class="sub-item">
<li>Diatonic</li>
<li>Chromatic</li>
<li>Tremolo</li>
</ul>
</li>
<li class="open">Melodicas
<ul class="sub-item">
<li>Soprano</li>
<li>Tenor</li>
<li>Bass</li>
<li>Accordina</li>
</ul>
</li>
</ul>
</li>
</ul>CSS
body {
padding: 0;
margin: 0;
font-size: 22px;
}
ul {
list-style-type: none;
}
.open {
cursor: pointer;
}
.open::before {
content: "\27A1";
}
.close:before {
content: "\2B07";
}
.sub-item {
display: none;
}
.sub-item-open {
display: block;
}JS
let open = document.querySelectorAll(".open");
open.forEach(element => {
element.addEventListener('click', (e) => {
e.stopPropagation();
element.classList.toggle("close");
element.firstElementChild.classList.toggle("sub-item-open");
})
});