jQuery的添加类到父李

时间:2019-05-02 15:51:32

标签: jquery

我有这个:

<ul>
    <li class="active">
</ul>

我想检测某些li是否具有类active,然后将Class visible添加到ul

我正在尝试:

    $(document).ready(function(){
        var check = $( "li" ).hasClass( "active" );
        if(check){
            $(this).parent('li').addClass('visible');
        }
    });

但是不起作用,

1 个答案:

答案 0 :(得分:1)

$(document).ready(function(){
    var check = $( "li" ).hasClass( "active" );
    if(check){
        $(this).parent('li').addClass('visible');
    }
});

这里的主要问题是this不是您认为的那样。不过,由于您正在尝试做parent('li'),所以我不确定您的想法。您似乎认为这是li的孩子。但事实并非如此。因为它已经准备好在文档中,所以很可能是window

在任何情况下,都可以简化这种逻辑。

$('li.active').closest('ul').addClass('visible');

选择具有该类的元素,而不是选择li然后测试它们是否具有类。然后使用closest('ul')上下文联系他们的父母,然后可以将该类添加到父母uls。