:first.click多个uls

时间:2012-09-25 16:22:08

标签: jquery

好吧,我正在开发一个轻量级的简单下拉列表。我出现了这个小问题:

<script>
$(document).ready(function () {
$('ul li:first a').click(function () {
    if ($(this).attr('class') != 'active') {
        $('.hideContent').slideUp(300);
        $('.showContent').removeClass('active');
        $(this).addClass('active').next('ul').slideDown(300);
        event.stopPropagation();
    }
    else {
        $(this).removeClass('active');          
        $('.hideContent').slideUp();
    }       
});
});
</script>

:首先只触发第一个ul。我现在正与多个人合作:

    <ul>
    <li><a href="#"><span class="plus">+</span><span class="minus">-</span>Administração</a>
        <ul class="hideContent">
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
        </ul>
    </li>
</ul>
    <ul>
    <li><a href="#"><span class="plus">+</span><span class="minus">-</span>Administração</a>
        <ul class="hideContent">
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
            <li><a href="#">Item</a></li>
        </ul>
    </li>
</ul>

:首先不应该触发EACH ul的第一个li?或者我的工作方式错了吗?

提前致谢。

1 个答案:

答案 0 :(得分:4)

首先只匹配一个元素,请尝试使用:first-child

  

虽然这只匹配一个元素,但是:first-child可以匹配更多元素   不止一个:每个父母一个。

http://api.jquery.com/first-selector/