我试图找到这个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');
});
到目前为止没有任何作用,请帮助
提前致谢
答案 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' );
});
});