0

我需要获取单击跨度的父 li,然后显示该 li 的子 ul

 <ul id="menu">
    <div>
     <li class="reveal">
       <a href="##">!!!!!!!!!!!!</a>
       <span class="arrow_open">↓&lt;/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();
});
4

3 回答 3

2

您必须在跨度上设置一个点击处理程序,就像这样

$(function () {
    $('#menu .reveal span').on('click', function(){
        $(this).parent().find("ul").slideToggle();
    });
});
于 2013-08-04T16:24:05.563 回答
2

把它放在你的准备函数中:

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

这是一个小提琴:http: //jsfiddle.net/jeffman/BWJzJ/试试看。

于 2013-08-04T16:26:41.453 回答
0

使用此代码应该更快,但您必须在链接之后设置子菜单(如您的示例中):

$(function () {
    $('#menu .reveal .arrow_open').on('click', function(){
        $(this).next().slideToggle();
    });
});
于 2013-08-04T16:29:28.267 回答