检查是否在一个div中设置了类,然后从另一个div jquery中删除了类

时间:2016-03-09 09:56:09

标签: javascript jquery

我试图找到这个div是否有活动的类,但我无法通过任何其他方式查找它除了数据属性,然后如果类活动存在我需要从另一个div中删除活动类

检查班级存在:

<div class="shapes active" data-shape="other">

</div>

删除课程:

<div class="tips active">bla bla</div>

我尝试了以下内容:

$('.shapes').click(function(){
    $('[data-shape="other"]').hasClass('active').find('.tips').removeClass('active');
});

到目前为止没有任何作用,请帮助

提前致谢

3 个答案:

答案 0 :(得分:2)

使用this获取激活事件的元素。

$('.shapes[data-shape="other"]').click(function(){
    if( $(this).hasClass('active') )
        $('.tips').removeClass('active');
});

答案 1 :(得分:1)

尝试这种方式 -

       $('.shapes').click(function(){
            if($('[data-shape="other"]').hasClass('active')){
                $("body").find('.tips').removeClass('active');
            }
        });

如果在shape类中有提示类,那么试试这个

$('.shapes').click(function(){
            if($('[data-shape="other"]').hasClass('active')){
                $(this).find('.tips').removeClass('active');
            }
        });

两者都在工作。

答案 2 :(得分:0)

始终检查div是否存在,然后执行代码以防止错误。

if ( $( '.shapes, .tips' ).size() > 0 ) {
    $( '.shapes' ).click( function() {
        if ( $(this).hasClass( 'active' ) )
            $( '.tips' ).removeClass( 'active' );
    });
});