0
<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。尝试了多种解决方案,但似乎都失败了。

这是我的jQuery代码:

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

绞尽脑汁......我不是一个完整的菜鸟(但显然我是)并且希望得到一些帮助。

点击***向下滑动:ul:after span

切换它。

4

5 回答 5

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
于 2013-05-09T08:22:27.687 回答
0

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

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

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

于 2013-05-09T08:16:28.473 回答
0

需要先遍历到父元素,获取下一个元素,再获取子元素ul

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

既然你div有一个id,而且一个id必须是唯一的,你可以这样做:

$('#sbc > ul').slideToggle();
于 2013-05-09T08:17:27.420 回答
0

试试这个让我知道

$('.dropdown').on('click', function() {
       $(this).parent().next().children('ul').slideToggle();
 });
于 2013-05-09T08:20:27.070 回答
0

尝试这个

$('span.dropdown').on('click', function() {
    $('ul').slideToggle();
   // alert('hi');
});
于 2013-05-09T08:22:38.610 回答