JSFiddle - React, Tailwind, and code Playground
HTML
<ul class="nav">
<li><a>Hyperlink 1</a>
</li>
<li class="drop"><a>Hyperlink 2</a>
<ul id="m1">
<li><a href="#">Hyperlink Sub</a>
</li>
<li><a href="#">Hyperlink Sub</a>
</li>
</ul>
</li>
<li class="drop"><a>Hyperlink 3</a>
<ul id="m2">
<li><a href="#">Hyperlink Sub</a>
</li>
<li><a href="#">Hyperlink Sub</a>
</li>
</ul>
</li>
<li class="drop"><a>Hyperlink 4</a>
<ul id="m3">
<li><a href="#">Hyperlink Sub</a>
</li>
<li><a href="#">Hyperlink Sub</a>
</li>
</ul>
</li>
</ul>
CSS
.nav {
margin:0 0 15px 0;
padding:0;
display:block;
width:208px;
background-color:#eeeeee;
}
.nav a {
text-decoration:none;
}
.nav li {
list-style-type:none;
padding:5px 0px 0px 0px;
font-family:'Open Sans', sans-serif;
text-transform: uppercase;
font-size:13px;
}
.nav li ul li a {
text-transform:capitalize;
font-size:12px;
}
.nav > li > a {
border-bottom:1px dashed #b2b2b2;
}
.nav li ul {
display:none;
}
JavaScript
jQuery(function ($) {
// jQuery code in here can safely use $
$('.nav li')
.css({
cursor: "pointer"
});
$(".drop>a").on('click', function (eventData) {
var $listItem = $(this).closest('li');
$listItem.find('ul').toggle();
$listItem.toggleClass('open');
$.cookie('open_items', 'the_value');
openItems = new Array();
$("li.drop").each(function (index, item) {
if ($(item).hasClass('open')) {
openItems.push(index);
}
});
$.cookie('open_items', openItems.join(','));
});
if ($.cookie('open_items') && $.cookie('open_items').length > 0) {
previouslyOpenItems = $.cookie('open_items');
openItemIndexes = previouslyOpenItems.split(',');
$(openItemIndexes).each(function (index, item) {
$("li.drop").eq(item).addClass('open').find('ul').toggle();
});
}
});