JSFiddle - React, Tailwind, and code Playground

by Steve

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")
        .on('click', function () {
        $(this).toggleClass('open');
        $(this).find('ul').toggle();
        $.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();
        });
    }
});