使用 jQuery 检查元素是否存在 `active` 类。

30

检查一个类名为 menuli 元素是否存在一个名为 active 的类。

例如:

<li class="menu active">something...</li>

可能是重复的问题:使用jQuery确定元素是否具有CSS类 - karim79
10个回答

61
我想你想要使用hasClass()。
$('li.menu').hasClass('active');

9
你可以使用以下代码检索所有具有“active”类的元素:
$('.active')

检查是否有任何错误,我相信应该是通过

if($('.active').length > 0)
{
    // code
}

8

8
您可以使用hasClass方法,例如。
$('li.menu').hasClass('active') // true|false

或者如果您想一次性选择它,您可以使用:

$('li.menu.active')

6

纯JavaScript解答:

document.querySelector('.menu').classList.contains('active');

也许会有一天帮到某人。


5
    if($('selector').hasClass('active')){ }

我认为这将检查选择器是否具有类名“active”...

FYI:尽管您的答案似乎是有道理的,但它已经出现在“低质量帖子”队列中,因为它被标记为删除。我怀疑这是因为它只有代码没有解释。 - Oliver Matthews
我已经添加了一些解释。 - Nwachukwu A. Nnaemeka

2
$(document).ready(function()
{
  changeColor = $(.active).css("color","any color");
  if($(".classname").hasClass('active')) {
  $(this).eq(changeColor);
  }
});

1
欢迎来到 Stack Overflow!虽然这段代码片段很受欢迎,也可能提供一些帮助,但如果它包括解释 如何为什么 解决问题,那就会更好了。请记住,你正在回答未来读者的问题,而不仅仅是现在提问的人!请编辑你的答案加入解释,并指出所适用的限制和假设条件。 - Toby Speight

1

使用hasClass jQuery方法


0

判断条件,当前类是否处于活动状态

$('#next').click(function(){
    if($('p:last').hasClass('active'){
       $('.active').removeClass();
    }else{
       $('.active').addClass();
    }
});

-1
我编写了一个辅助方法来帮助我遍历所有选定的元素并移除活动类。
    function removeClassFromElem(classSelect, classToRemove){
      $(classSelect).each(function(){
        var currElem=$(this);
        if(currElem.hasClass(classToRemove)){
          currElem.removeClass(classToRemove);
        }
      });
    }

    //usage
    removeClassFromElem('.someclass', 'active');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接