使用jQuery向下滑动来自H3的UL

时间:2013-05-09 08:14:45

标签: javascript jquery slidetoggle

<h3>Details<span class="dropdown">View</span></h3>
    <div id="sbc">
        <ul>
            <li><h2>Role: Supervisor</h2></li>
            <li>Manager Contact:</li>
            <li class="small">*location closed - please contact corporate office for further assistance</li>
            <li><a href=""></a></li>
            <li><h2>Responsibilities</li>
            <li>
                <ul>
                <li>Assist customers with miscellaneous issues from AIV, AppStore, Kindle Tier 2</li>
                <li> - Fallback - Kindle Tier 1</li>
                </ul>
            </li>
        </ul>
    </div>

尝试将jQuery写入onClick slideDown下面的UL下面的UL。 尝试了多种解决方案,但似乎都失败了。

这是我的jQUery代码:

<script>
(function() {
    $('span.dropdown').on('click', function() {
        $(this).next('ul').slideToggle();
    });
})(jQuery);
</script>

把我的大脑晾干....我不是一个完整的菜鸟(但显然我是)并且会喜欢一些帮助。

点击 ***滑下: ul:在span之后

切换它。

5 个答案:

答案 0 :(得分:1)

你需要这样做:

$(this)
    .parent()        // Go to the parent h3 element of current span clicked
    .next('#sbc')    // Go to the next div element with id 'sbc'
    .children('ul')  // Go to its child ul element
    .slideToggle();  // and finally slide toggle

答案 1 :(得分:0)

回答了我自己的问题.... (是的,12秒后)

<script>
(function() {
    $('span.dropdown').on('click', function() {
        $(this).parent().next('ul').slideToggle();
    });
})(jQuery);
</script>

感谢您的帮助!我知道自己是个白痴并错误地记录了DOM :-P

答案 2 :(得分:0)

您需要首先遍历父级,获取下一个元素,然后获取子级ul

$(this).parent().next().children('ul').slideToggle();

由于divid,而id必须是唯一的,您可以这样做:

$('#sbc > ul').slideToggle();

答案 3 :(得分:0)

试试这个让我知道

$('.dropdown').on('click', function() {
       $(this).parent().next().children('ul').slideToggle();
 });

答案 4 :(得分:0)

试试这个

$('span.dropdown').on('click', function() {
    $('ul').slideToggle();
   // alert('hi');
});