2016-02-09 4 views
0

HTML:Как сохранить все родителя, за исключением первого LI подсвечивается, когда к югу LI наведен над

<ul id="ulMenu"> 
    <li class="parent"> 
     <a href="">Software Update</a> 
     <ul class="ulSubMenu"> 
      <li> 
       <a href="">2010</a> 
       <ul class="ulSubMenu"> 
        <li> 
         <a href="">Version 1</a> 
         <ul class="ulSubMenu"> 
          <li><a href="">Ver 1 Complete</a></li> 
          <li><a href="">Ver 1 Not Yet</a></li> 
         </ul> 
        </li> 
       </ul> 
      </li> 
      <li> 
       <a href="">2011</a> 
       <ul class="ulSubMenu"> 
        <li> 
         <a href="">Version 1</a> 
         <ul class="ulSubMenu"> 
          <li><a href="">Ver 1 Complete</a></li> 
          <li><a href="">Ver 1 Not Yet</a></li> 
         </ul> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
</ul> 

CSS:

ul.ulSubMenu > li > a:hover 
{ 
     background-color: #008AAC; 
     color: #C5F3FF; 
} 
.active { 
    background-color: #008AAC; 
    color: #C5F3FF; 
} 

JQuery:

Я хотел бы добавить скрипт, который устанавливает любой родительский LI в класс подменю до active, за исключением родителя LI

Например, если я нахожу «Ver 1 Complete» в разделе 2010 года, он изменит стиль с помощью hover css. Я также хотел бы сделать тот же стиль с классом active для версии 1 и 2010 LI.

Как это сделать.

+0

как вы уже помечено вопрос: Jquery ... –

+1

До сих пор не совсем уверен, что спрашивают – Jay

+0

Если я парить над 'Ver 1 Complete', я бы как и все родительские '' '' '' '' '' '' '' класса, кроме первого. – Si8

ответ

0

Я обновил свой CSS к следующим:

ul.ulSubMenu > li > a { 
    text-decoration: none; 
    background-color: #C5F3FF; 
    border: 1px solid #53E1FF; 
    border-top: none; 
    color: #008AAC; 
    display: block; 
    font-size: 12px; 
    line-height: 15px; 
    padding: 10px 12px; 
    cursor: pointer; 
} 

ul.ulSubMenu > li:hover 
{ 
    background-color: #008AAC; 
    color: #C5F3FF; 
} 
ul.ulSubMenu > li:hover > a 
{ 
    color: #C5F3FF; 
    background-color: #008AAC; 
} 
1

Вы должны просто изменить свое правило .active для применения ко всем li элементам, которые парят.

ul.ulSubMenu li:hover, 
.active { 
    background-color: #008AAC; 
    color: #C5F3FF; 
} 

Это должно работать, как вы хотите, потому что при наведении мыши на элемент, все его родители колебались, а также.

+0

У него нет созданного класса '.active', который OP пытается достичь из того, что я понимаю, что просто навешивает все' li' – dippas

+0

Спасибо, но я не хочу, чтобы «Обновление программного обеспечения» менялось просто что-то между этим и зависанием 'LI'. – Si8

+0

@ SiKni8 Вы действительно протестировали код? См. Https://jsfiddle.net/gaby/eqjm0uk8/, это не влияет на «Обновление программного обеспечения». Также см. Https://jsfiddle.net/gaby/eqjm0uk8/1/, если вы хотите повлиять на теги 'a', а не на весь' li' –

Смежные вопросы