1

我们有以下情况:

<ul>
    <li>Button 1</li>
    <li class="active">Button 2</li>
    <li>Button 3</li>
    <li>Button 4</li>
</ul>

现在处理它的以下代码:

    $('.tab-menu li').on('click', function() {
        $($($(this).closest('.tab-menu')).find('li')).removeClass('active');
        $(this).addClass('active');
    });

它可以工作,但是是否有一个 jQuery 函数可以选择所有“并行”元素?我想要这个部分

$($($(this).closest('.tab-menu')).find('li')).removeClass('active');

缩短。我知道'toggleClass',但这仅适用于单击的元素。有没有更短的方法来选择所有并行元素?(在这种情况下,属于特定 'ul' 的所有 'li');

4

1 回答 1

6

试试这个,使用.siblings()

$(this).addClass('active').siblings().removeClass('active');

带有 onclick 的演示

于 2013-09-09T12:59:06.977 回答