JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://users.tpg.com.au/j_birch/plugins/superfish/js/superfish.js"></script>
<div id="nav">
    <div id="nav2">
        <ul class="sf-menu sf-navbar ">
            <li>
                <a title="HOME" class="sf-with-ul " href="#">HOME</a>               </li>   
        </ul>
        <ul class="sf-menu sf-navbar">
            <li>
                
                <a href="#" id="gallery" class="sf-with-ul selected_main">GALLERY</a>
                <ul class="subs" id="sub1"><li class="arrow"><img src="images/arrow.gif" /></li><li><a title="Kitchens" href="#">Kitchens</a></li><li><a title="Vanities" href="#">Vanities</a></li></ul>             </li>    
        </ul>
        <ul class="sf-menu sf-navbar ">
            <li>
                <a href="#" class="sf-with-ul " >ACCESSORIES</a>
                <ul class="subs" id=""><li class="arrow"><img src="images/arrow.gif" /></li><li><a title="Door Handles" href="#">Door Handles</a></li><li><a title="Spanners" href="#">Spanners</a></li></ul>             </li>   
        </ul>
        
        <ul class="sf-menu sf-navbar ">
            <li>
                <a title="CONTACT US" class="sf-with-ul " href="#">CONTACT US</a>             </li>   
        </ul>   
    </div>
    
</div>

CSS

/* New CSS */

.sf-menu li.sfSelected {
    background-color: #CFDEFF;
}




/* STANDARD SUCKER FISH CSS BELOW */
/*** ESSENTIAL STYLES ***/
.sf-menu, .sf-menu * {
    margin:            0;
    padding:        0;
    list-style:        none;
}
.sf-menu {
    line-height:    1.0;
}
.sf-menu ul {
    position:        absolute;
    top:            -999em;
    width:            10em; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
    width:            100%;
}
.sf-menu li:hover {
    visibility:        inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
    float:            left;
    position:        relative;
}
.sf-menu a {
    display:        block;
    position:        relative;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
    left:            0;
    top:            2.5em; /* match top ul list item height */
    z-index:        99;
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
    top:            -999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
    left:            10em; /* match ul width */
    top:            0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
    top:            -999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
    left:            10em; /* match ul width */
    top:            0;
}

/*** DEMO SKIN ***/
.sf-menu {
    float:            left;
    margin-bottom:    1em;
}
.sf-menu a {
    border-left:    1px solid #fff;
    border-top:        1px solid #CFDEFF;
    padding:         .75em 1em;
    text-decoration:none;
}
.sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/
    color:            #13a;
}
.sf-menu li {
    background:        #BDD2FF;
}
.sf-menu li li {
    background:        #AABDE6;
}
.sf-menu li li li {
    background:        #9AAEDB;
}
.sf-menu li:hover, .sf-menu li.sfHover,
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
    background:        #CFDEFF;
    outline:        0;
}

/***...

JavaScript

$(function(){
    var menu = $("#nav");
    
    menu.find("ul.sf-menu")
        .superfish({ 
            delay:         0,
            speed:         'fast',
            autoArrows:    false,
            dropShadows:   false,
            onHide:        function(){
                if (this.parent().is('.sfPersist')) {
                   this.show().css('visibility','visible').parent().addClass('sfHover');
                } 
            }
        })
        .find('li > ul > li').click(function(){
            // hide previously persistent children (LOL that just sounds wrong)
            menu.find('.sfPersist')
                .removeClass('sfPersist sfHover')
                .find('> ul').hide().css('visibility','hidden');
            
            // add children that should be persistent
            if ($(this).is('.sfSelected')) {
                // if previously selected, keep hidden
                menu.find('li.sfSelected').removeClass('sfSelected');
            } else {
                // Hide other selected classes
                menu.find('li.sfSelected').removeClass('sfSelected');
                // if newly selected, then show
                $(this)
                    .addClass('sfSelected') // remember which one is selected
                    .parent()
                    .show().css('visibility','visible')
                    .parent().addClass('sfHover sfPersist');
            }
        });
});