微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用next()在jquery中找到最接近的ul?

我有一个简单的菜单,如下所示:
<ul id="navigation">
    <li id="m_li">
         <div><span>+</span><a href="#" >myself</a></div>
        <ul class="test" id="x_ul">
            <li id="li">
                <a href="#" >Pictures</a>
            </li>
            <li id="li">
                <a href="#" >Audio</a>
            </li>
        </ul>
    </li>
    <li id="profile_modeling_li">
        <div><span>+</span><a href="#" >friend</a></div>
        <ul class="test" id="y_ul">
            <li id="li">
                <a href="#" >Pictures</a>
            </li>
            <li id="li">
                <a href="#" >Video</a>
            </li>
        </ul>
    </li>
</ul>

然后我使用jquery所以当我点击标志时,ul滑下来:

$("#navigation > li > div > span").click(function(){

    if(false == $(this).next('ul').is(':visible')) {
        $('#accordion ul').slideUp(300);
    }
    $(this).next('ul').slidetoggle(300);
});

问题是$(this).next(‘ul’)似乎不喜欢下一个ul

我有什么想法吗?

解决方法

使用
$(this).parent().next()

代替

$(this).next();

当然,您可以传递一个选择器(更简单或更复杂),将选定的元素标识为参数:

$(this).parent().next('ul.test[id$="_ul]"');

原文地址:https://www.jb51.cc/jquery/178696.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐