jQuery - 在按钮之前选择li

时间:2015-08-19 06:45:58

标签: javascript jquery selector

我得到了一个列表:

    <li>
        <a data-id="..." data-name="..." data-vname="..." style="font-weight: 400; padding: 5px 15px; cursor: pointer;">
            <span class="badge badge-primary pull-right"><?php echo $count;?></span><i class="fa fa-fw fa-server push-5-r"></i> ...
        </a>
    </li>

现在我想为<a>元素执行一个单击函数,它使li类活动,当我单击另一个对象从第一个删除它时。我的第一次尝试:

$( "a" ).click(function() {
        $( this ).prev().addClass('active');
});

如何在此之前选择<li>()?

提前致谢。

2 个答案:

答案 0 :(得分:4)

.prev()方法用于获取上一个兄弟元素,在这种情况下,li是祖先元素。

要获得直接父级(如您的情况),您可以使用.parent(),但如果您在某些级别的父级之后,则可以使用.closest()

$( "a" ).click(function() {
        $( this ).parent().addClass('active');
        //or $( this ).closest('li').addClass('active');
});

答案 1 :(得分:2)

或者你甚至可以做到

$( "a" ).click(function() {
      $(this).closest('li').addClass('active');
});

将其从所有其他li中删除,并将其添加到当前a的{​​{1}},您只需再写一行

li