JSFiddle - React, Tailwind, and code Playground

by gsferreira

HTML

<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap-responsive.css">
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<ul id="nav" class="nav nav-list bs-docs-sidenav" >
    <li><a href="#" class="parent"><i class="icon-chevron-right"></i> Products</a>
        <ul class="bs-docs-sidenav" style="display:none;">
  <li><a href="#" class="parent"><i class="icon-chevron-right"></i> Laptop</a>
      <ul class="bs-docs-sidenav" style="display:none;">
          <li>
              <a href="#"><i class="icon-chevron-right"></i> List</a>
              <a href="#"><i class="icon-chevron-right"></i> Create</a>
          </li>
      </ul>
  </li>
  <li><a href="#"><i class="icon-chevron-right"></i> Tablet</a></li>
</ul>
</li>
</ul>

CSS

.bs-docs-sidenav {
  padding: 0;
  background-color: #FFF;
  -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
     -moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
          box-shadow: 0 1px 4px rgba(0,0,0,.065);
}
.bs-docs-sidenav > li > a {
  display: block;
  width: 190px \9;
  margin: 0 0 -1px;
  padding: 8px 14px;
  border: 1px solid #e5e5e5;
}

.bs-docs-sidenav ul { margin-left: 0; padding-left: 0; }

.bs-docs-sidenav > li > ul  li {  background-color: #F9F9F9; }
.bs-docs-sidenav > li > ul > li a {  padding-left:20px; }
.bs-docs-sidenav > li > ul > li > ul  li {  background-color: #F0F0F0; }
.bs-docs-sidenav > li > ul > li > ul > li a {  padding-left:25px; }

.bs-docs-sidenav > .active > a {
  position: relative;
  z-index: 2;
  padding: 9px 15px;
  border: 0;
  text-shadow: 0 1px 0 rgba(0,0,0,.15);
  -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
     -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
          box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
}
/* Chevrons */
.bs-docs-sidenav .icon-chevron-right {
  //float: right;
  margin-top: 2px;
  //margin-right: -6px;
  opacity: .25;
}
.bs-docs-sidenav > li > a:hover {
  background-color: #f5f5f5;
}
.bs-docs-sidenav a:hover .icon-chevron-right {
  opacity: .5;
}
.bs-docs-sidenav .active .icon-chevron-right,
.bs-docs-sidenav .active a:hover .icon-chevron-right {
  background-image: url(http://raw.github.com/twitter/bootstrap/master/img/glyphicons-halflings.png);
  opacity: 1;
}
.bs-docs-sidenav.affix {
  top: 40px;
}
.bs-docs-sidenav.affix-bottom {
  position: absolute;
  top: auto;
  bottom: 270px;
}

JavaScript

$('.parent').click(function() {
    var subMenu = $(this).siblings('ul');
    if ($(subMenu).hasClass('open')) {
        $(subMenu).fadeOut();
        $(subMenu).removeClass('open').addClass('closed');
        $(this).children('i').toggleClass("icon-chevron-down","icon-chevron-right");
    }
    else {
        $(subMenu).fadeIn();
        $(subMenu).removeClass('closed').addClass('open');
        $(this).children('i').toggleClass("icon-chevron-down","icon-chevron-right");
    }
});