2013-02-22 6 views
1

У меня есть три неупорядоченных списка, вложенных друг в друга. Второй и третий ul является спрятался (display: none;)Задайте все вложенные li выбранного родителя li

К первому событию я должен показать все ul.second элементы первого li из ul.first.

К второму мероприятию мне нужно показать все ul.third элементов в начале li от ul.second. Вот код:

HTML

<ul class="first"> 
<li class="first-element"> 
    <ul class="second"> 
     <li class="second-element"> 
      <ul class="third"> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
      </ul> 
     </li> 
     <li class="second-element"> 
      <ul class="third"> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
      </ul> 
     </li> 
     <li class="second-element"> 
      <ul class="third"> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
      </ul> 
     </li> 
    </ul> 
</li> 
<li class="first-element"> 
    <ul class="second"> 
     <li class="second-element"> 
      <ul class="third"> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
      </ul> 
     </li> 
     <li class="second-element"> 
      <ul class="third"> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
      </ul> 
     </li> 
     <li class="second-element"> 
      <ul class="third"> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
       <li class="third-element"></li> 
      </ul> 
     </li> 
    </ul> 
</li> 
</ul> 

CSS

ul.second li { 
    display: none; 
} 
ul.third li { 
    display: none; 
} 

JS

$('li.first-element:eq(0) li.second-element').show(); // works fine, it shows only li.second-element of ul.first first li 
$('li.second-element:eq(0) li.third-element').show(); // does not work, in log it gives me empty [] 

Как настроить таргетинг li.second-element:eq(0) li.third-element другим способом?

+0

вы хотите создать эффект парения или что-то делать? Как меню программ Windows? Если нет, пожалуйста, объясните, что вызывает эти шоу и скрывает. –

+0

@Sven Вы абсолютно прав, я хочу создать меню, как в программах Windows. Первым событием на mouseover на 'ul.first li: eq (0)' i будет показано все 'ul.second li', вложенные в' ul.first li: eq (0) '. Второе событие при наведении мыши на' ul. второй li: eq (0'), я покажу все 'ul.third li', вложенные в' ul.second li: eq (0) '. – lesnick

ответ

0

затем

$('.first li:eq(0) .second > li'); 
$('.second > li:eq(0) .third > li'); 
+0

Это будет нацелено на все 'ul.second li', мне нужно нацелить все' ul.second li' вложенные только в 'ul.first li: eq (0)' – lesnick

+0

Я отредактировал ответ, попробуйте сейчас – w3jimmy

+0

выглядит правильно, но chrome log me SYNTAX_ERR: DOM Exception 12 – lesnick

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