更改背景用于单击或选择子元素的根元素的颜色

时间:2014-11-21 05:43:24

标签: html css

考虑以下HTML

HTML

<div id='cssmenu'>
<ul>
   <li class='has-sub'><a href='#'><span>Skills</span></a>
      <ul>
         <li class='has-sub'><a href='#'><span>Analysis</span></a>
            <ul>
               <li><a href='#'><span>Category and Skills</span></a></li>

            </ul>
         </li>
         <li class='has-sub'><a href='#'><span>Employee Skills </span></a>
         </li>
           <li class='has-sub'><a href='#'><span>Setup </span></a>
            <ul>
               <li><a href='#'><span>Skills</span></a></li>
               <li class='last'><a href='#'><span>Skills Categories</span></a></li>
                 <li class='last'><a href='#'><span>Skill Level</span></a></li>
            </ul>
         </li>
      </ul>
   </li>

   <li class='has-sub'><a href='#'><span>Proposals</span></a>

            <ul>
               <li><a href='#'><span>New Propsals</span></a></li>
               <li class='last'><a href='#'><span>List of Proposals</span></a></li>
            </ul>


   </li>
   <li class="has-sub"><a href='#'><span>Procurement</span></a>
       <ul>
        <li><a href='#'><span>Indents</span></a></li>
           <li><a href='#'><span>Status</span></a></li>
        </ul>
   </li>

</ul>
</div>

CSS

@import url(http://fonts.googleapis.com/css?family=Oxygen+Mono);
/* Please Keep this font import at the very top of any CSS file */
@charset "UTF-8";
/* Starter CSS for Flyout Menu */
#cssmenu {
  padding: 0;
  margin: 0;
  border: 0;
  line-height: 1;
}
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#cssmenu ul {
  position: relative;
  z-index: 597;
  float: left;
}
#cssmenu ul li {
  float: left;
  min-height: 1px;
  line-height: 1em;
  vertical-align: middle;
  position: relative;
}
#cssmenu ul li.hover,
#cssmenu ul li:hover {
  position: relative;
  z-index: 599;
  cursor: default;
}
#cssmenu ul ul {
  visibility: hidden;
  position: absolute;
  top: 100%;
  left: 0px;
  z-index: 598;
  width: 100%;
}
#cssmenu ul ul li {
  float: none;
}
#cssmenu ul ul ul {
  top: -2px;
  right: 0;
}
#cssmenu ul li:hover > ul {
  visibility: visible;
}
#cssmenu ul ul {
  top: 1px;
  left: 99%;
}
#cssmenu ul li {
  float: none;
}
#cssmenu ul ul {
  margin-top: 1px;
}
#cssmenu ul ul li {
  font-weight: normal;
}
/* Custom CSS Styles */
#cssmenu {
  width: 200px;
  background: #333333;
  font-family: 'Oxygen Mono', Tahoma, Arial, sans-serif;
  zoom: 1;
  font-size: 12px;
}
#cssmenu:before {
  content: '';
  display: block;
}
#cssmenu:after {
  content: '';
  display: table;
  clear: both;
}
#cssmenu a {
  display: block;
  padding: 15px 20px;
  color: #ffffff;
  text-decoration: none;
  text-transform: uppercase;
}
#cssmenu > ul {
  width: 200px;
}
#cssmenu ul ul {
  width: 200px;
}
#cssmenu > ul > li > a {
  border-right: 4px solid #1b9bff;
  color: #ffffff;
}
#cssmenu > ul > li > a:hover {
  color: #ffffff;
}
#cssmenu > ul > li.active a {
  background: #1b9bff;
}
#cssmenu > ul > li a:hover,
#cssmenu > ul > li:hover a {
  background: #1b9bff;
}
#cssmenu li {
  position: relative;
}
#cssmenu ul li.has-sub > a:after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -6px;
}
#cssmenu ul ul li.first {
  -webkit-border-radius: 0 3px 0 0;
  -moz-border-radius: 0 3px 0 0;
  border-radius: 0 3px 0 0;
}
#cssmenu ul ul li.last {
  -webkit-border-radius: 0 0 3px 0;
  -moz-border-radius: 0 0 3px 0;
  border-radius: 0 0 3px 0;
  border-bottom: 0;
}
#cssmenu ul ul {
  -webkit-border-radius: 0 3px 3px 0;
  -moz-border-radius: 0 3px 3px 0;
  border-radius: 0 3px 3px 0;
}
#cssmenu ul ul {
  border: 1px solid #0082e7;
}
#cssmenu ul ul a {
  font-size: 12px;
  color: #ffffff;
}
#cssmenu ul ul a:hover {
  color: #ffffff;
}
#cssmenu ul ul li {
  border-bottom: 1px solid #0082e7;
}
#cssmenu ul ul li:hover > a {
  background: #4eb1ff;
  color: #ffffff;
}
#cssmenu.align-right > ul > li > a {
  border-left: 4px solid #1b9bff;
  border-right: none;
}
#cssmenu.align-right {
  float: right;
}
#cssmenu.align-right li {
  text-align: right;
}
#cssmenu.align-right ul li.has-sub > a:before {
  content: '+';
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -6px;
}
#cssmenu.align-right ul li.has-sub > a:after {
  content: none;
}
#cssmenu.align-right ul ul {
  visibility: hidden;
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 598;
  width: 100%;
}
#cssmenu.align-right ul ul li.first {
  -webkit-border-radius: 3px 0 0 0;
  -moz-border-radius: 3px 0 0 0;
  border-radius: 3px 0 0 0;
}
#cssmenu.align-right ul ul li.last {
  -webkit-border-radius: 0 0 0 3px;
  -moz-border-radius: 0 0 0 3px;
  border-radius: 0 0 0 3px;
}
#cssmenu.align-right ul ul {
  -webkit-border-radius: 3px 0 0 3px;
  -moz-border-radius: 3px 0 0 3px;
  border-radius: 3px 0 0 3px;
}

jsfiddle

这里我制作了一个多级菜单项。我想要的是点击任何一个子元素根元素 t将背景颜色改变(排序)所选项目样式)和子元素面板消失。我怎么能这样做?

MY TRY

 $(document).ready(function () {
            $( "a" ).click(function( event ) {
                $( ".has-sub" ).css("background-color","blue");
            });

我已经尝试过上面的代码来尝试两件事但是没有用。

3 个答案:

答案 0 :(得分:1)

会使用jQuery。

- 不确定您希望背景改变的确切元素,但这是基本想法。

$(function() {

$('.last').click(function() {
           $(".has-sub").css("background", "yellow");
})
});

答案 1 :(得分:0)

如果您正在寻找,请告诉我们?

    <html>
    <head>
    <style type="text/css">
    @import url(http://fonts.googleapis.com/css?family=Oxygen+Mono);
    /* Please Keep this font import at the very top of any CSS file */
    @charset "UTF-8";
    /* Starter CSS for Flyout Menu */
    #cssmenu {
      padding: 0;
      margin: 0;
      border: 0;
      line-height: 1;
    }
    #cssmenu ul,
    #cssmenu ul li,
    #cssmenu ul ul {
      list-style: none;
      margin: 0;
      padding: 0;
    }
    #cssmenu ul {
      position: relative;
      z-index: 597;
      float: left;
    }
    #cssmenu ul li {
      float: left;
      min-height: 1px;
      line-height: 1em;
      vertical-align: middle;
      position: relative;
    }
    #cssmenu ul li.hover,
    #cssmenu ul li:hover {
      position: relative;
      z-index: 599;
      cursor: default;
    }
    #cssmenu ul ul {
      visibility: hidden;
      position: absolute;
      top: 100%;
      left: 0px;
      z-index: 598;
      width: 100%;
    }
    #cssmenu ul ul li {
      float: none;
    }
    #cssmenu ul ul ul {
      top: -2px;
      right: 0;
    }
    #cssmenu ul li:hover > ul {
      visibility: visible;
    }
    #cssmenu ul ul {
      top: 1px;
      left: 99%;
    }
    #cssmenu ul li {
      float: none;
    }
    #cssmenu ul ul {
      margin-top: 1px;
    }
    #cssmenu ul ul li {
      font-weight: normal;
    }
    /* Custom CSS Styles */
    #cssmenu {
      width: 200px;
      background: #333333;
      font-family: 'Oxygen Mono', Tahoma, Arial, sans-serif;
      zoom: 1;
      font-size: 12px;
    }
    #cssmenu:before {
      content: '';
      display: block;
    }
    #cssmenu:after {
      content: '';
      display: table;
      clear: both;
    }
    #cssmenu a {
      display: block;
      padding: 15px 20px;
      color: #ffffff;
      text-decoration: none;
      text-transform: uppercase;
    }
    #cssmenu > ul {
      width: 200px;
    }
    #cssmenu ul ul {
      width: 200px;
    }
    #cssmenu > ul > li > a {
      border-right: 4px solid #1b9bff;
      color: #ffffff;
    }
    #cssmenu > ul > li > a:hover {
      color: #ffffff;
    }
    #cssmenu > ul > li.active a {
      background: #1b9bff;
    }
    #cssmenu > ul > li a:hover
    {
      background: #1b9bff;

    }
    #cssmenu ul ul li
    {
        background-color:#1b9bff;  
    }

    #cssmenu li {
      position: relative;
    }
    #cssmenu ul li.has-sub > a:after {
      content: '+';
      position: absolute;
      top: 50%;
      right: 15px;
      margin-top: -6px;
    }
    #cssmenu ul ul li.first {
      -webkit-border-radius: 0 3px 0 0;
      -moz-border-radius: 0 3px 0 0;
      border-radius: 0 3px 0 0;
    }
    #cssmenu ul ul li.last {
      -webkit-border-radius: 0 0 3px 0;
      -moz-border-radius: 0 0 3px 0;
      border-radius: 0 0 3px 0;
      border-bottom: 0;
    }
    #cssmenu ul ul {
      -webkit-border-radius: 0 3px 3px 0;
      -moz-border-radius: 0 3px 3px 0;
      border-radius: 0 3px 3px 0;
    }
    #cssmenu ul ul {
      border: 1px solid #0082e7;
    }
    #cssmenu ul ul a {
      font-size: 12px;
      color: #ffffff;
    }
    #cssmenu ul ul a:hover {
      color: #ffffff;
    }
    #cssmenu ul ul li {
      border-bottom: 1px solid #0082e7;
    }
    #cssmenu ul ul li:hover > a {
      background: #4eb1ff;
      color: #ffffff;
    }
    #cssmenu.align-right > ul > li > a {
      border-left: 4px solid #1b9bff;
      border-right: none;
    }
    #cssmenu.align-right {
      float: right;
    }
    #cssmenu.align-right li {
      text-align: right;
    }
    #cssmenu.align-right ul li.has-sub > a:before {
      content: '+';
      position: absolute;
      top: 50%;
      left: 15px;
      margin-top: -6px;
    }
    #cssmenu.align-right ul li.has-sub > a:after {
      content: none;
    }
    #cssmenu.align-right ul ul {
      visibility: hidden;
      position: absolute;
      top: 0;
      left: -100%;
      z-index: 598;
      width: 100%;
    }
    #cssmenu.align-right ul ul li.first {
      -webkit-border-radius: 3px 0 0 0;
      -moz-border-radius: 3px 0 0 0;
      border-radius: 3px 0 0 0;
    }
    #cssmenu.align-right ul ul li.last {
      -webkit-border-radius: 0 0 0 3px;
      -moz-border-radius: 0 0 0 3px;
      border-radius: 0 0 0 3px;
    }
    #cssmenu.align-right ul ul {
      -webkit-border-radius: 3px 0 0 3px;
      -moz-border-radius: 3px 0 0 3px;
      border-radius: 3px 0 0 3px;
    }


    </style>
    </head>
    <body>
    <div id='cssmenu'>
    <ul>
       <li class='has-sub'><a href='#'><span>Skills</span></a>
          <ul>
             <li class='has-sub'><a href='#'><span>Analysis</span></a>
                <ul>
                   <li><a href='#'><span>Category and Skills</span></a></li>

                </ul>
             </li>
             <li class='has-sub'><a href='#'><span>Employee Skills </span></a>
             </li>
               <li class='has-sub'><a href='#'><span>Setup </span></a>
                <ul>
                   <li><a href='#'><span>Skills</span></a></li>
                   <li class='last'><a href='#'><span>Skills Categories</span></a></li>
                     <li class='last'><a href='#'><span>Skill Level</span></a></li>
                </ul>
             </li>
          </ul>
       </li>

       <li class='has-sub'><a href='#'><span>Proposals</span></a>

                <ul>
                   <li><a href='#'><span>New Propsals</span></a></li>
                   <li class='last'><a href='#'><span>List of Proposals</span></a></li>
                </ul>


       </li>
       <li class="has-sub"><a href='#'><span>Procurement</span></a>
           <ul>
            <li><a href='#'><span>Indents</span></a></li>
               <li><a href='#'><span>Status</span></a></li>
            </ul>
       </li>

    </ul>
    </div>

    </body>
    </html>

答案 2 :(得分:0)

CSS

#cssmenu ul li a.select {
  background: #4eb1ff;
  color:#fff;
}

HTML

<ul>
  <li class='has-sub'>
    <a href='#' class="select "><span>Skills</span></a>
  </li>
</ul>

试试这个。它对我来说很好。

相关问题