JSFiddle - React, Tailwind, and code Playground
HTML
<ul class="dropdown">
<li><a href="#">Item 1</a>
<ul>
<li><a href="#">Subitem 1</a></li>
<li><a href="#">Subitem 2</a></li>
<li><a href="#">Subitem 3</a>
<ul>
<li><a href="#">Subsubitem 1</a></li>
<li><a href="#">Subsubitem 2</a></li>
<li><a href="#">Subsubitem 3</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#">Item 2</a></i>
<li><a href="#">Item 3</a>
<ul>
<li><a href="#">Subitem 1</a></li>
<li><a href="#">Subitem 2</a></li>
<li><a href="#">Subitem 3</a>
<ul>
<li><a href="#">Subsubitem 1</a></li>
<li><a href="#">Subsubitem 2</a></li>
<li><a href="#">Subsubitem 3</a></li>
</ul>
</li>
</ul>
</li>
</ul>
CSS
* {
margin: 0px;
padding: 0px;
}
a, a:visited {
color: orange;
text-decoration: none;
}
body {
font-family: 'Ubuntu';
padding: 50px;
}
ul ul {
display: none;
border: 1px solid red;
}
ul ul ul {
border: 1px solid blue;
}
}
ul {
width: 200px;
}
li {
position: relative;
border-bottom: 1px solid #eee;
list-style: none;
}
.plus {
height: 10px;
width: 10px;
background: grey;
position: absolute;
right: 0;
color: #fff !important;
top: 0;
font-size: 8px;
text-align: center;
text-decoration: none;
}
JavaScript
$('.dropdown li').each(function(e) {
if($(this).children("ul").length) {
$(this).append('<a href="#" class="plus">+</a>');
}
});
$('.plus').click(function(e){
e.preventDefault();
$('ul ul').slideUp();
$('li').removeClass('active');
$(this).parent('li').find('> ul').slideDown();
$(this).parent('li').addClass('active');
});