2015-05-27 7 views
0

В jQuery родители() и дети() не ведут себя так, как я ожидаю, с вложенными списками. Пример:Родители/дети jQuery во вложенных списках

<ul> 
    <li>item 1 
     <ul> 
      <li>item a</li> 
      <li>item b 
       <ul> 
        <li>item i</li> 
       </ul> 
      </li>   
      <li>item c</li> 
     </ul> 
    </li> 
    <li>item 2</li> 
</ul> 

и JavaScript:

$('li').click(function(event) { 
    $('ul').not($(this).parents()).hide(); 
    $(this).children().show(); 
}); 

Если я нажимаю "пункт б", а затем 'Пункт I' скрывает. Кажется, что «item i» является дочерним элементом «item b» и должен отображаться значением $ (this) .children(). Show()

У меня проблема с синтаксисом, или я неправильно истолковываю детей/родителей в DOM?

См. https://jsfiddle.net/8o71yfpf/ для примера.

+1

Можете ли вы уточнить, что ожидаемое поведение? – Ted

+0

Дети скрытых предметов не могут быть видны. Если бы дети были видны, что бы это означало скрыть предмет b? – ray

+0

Что вы хотите делать с товаром i –

ответ

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