2013-08-04 4 views
0

мне нужно, чтобы получить родительское Ли из нажал на пролете, а затем показать ребенка мкл, что ЛиКак родительский ребенок ul?

<ul id="menu"> 
    <div> 
    <li class="reveal"> 
     <a href="##">!!!!!!!!!!!!</a> 
     <span class="arrow_open">↓</span><br/> <!-- clicking this one --> 
     <ul> <!-- display this one --> 
     <li>a</li> 
     <li>b</li> 
     <li>c</li> 
     </ul> 
    </li> 
    </div> 
</ul> 

И мой код.

$(function() { 
    $(this).parent("li").child("ul").slideToggle(); 
}); 
+1

Это выглядит, как она должна работать. В чем проблема? –

+0

Этот 'div' в' ul' является недопустимой разметкой. –

ответ

2

Вы должны установить обработчик щелчка на пролете, как так

$(function() { 
    $('#menu .reveal span').on('click', function(){ 
     $(this).parent().find("ul").slideToggle(); 
    }); 
}); 
2

это в вашем готовой функции:

$(".reveal span").click(function() { 
    $(this).parent("li").children("ul").slideToggle(); 
}); 

Вот скрипку: http://jsfiddle.net/jeffman/BWJzJ/ Попробуйте.

0

Это должно быть быстрее, чтобы использовать этот код, но вы должны установить подменю сразу после вашей ссылке (как в вашем примере):

$(function() { 
    $('#menu .reveal .arrow_open').on('click', function(){ 
     $(this).next().slideToggle(); 
    }); 
}); 
Смежные вопросы