如何在jQuery中检查元素是否有多个css类

如何在jQuery中检查元素是否有多个css类,jquery,Jquery,我有一些html,如下所示。我循环了div(accordionContents)中的所有元素。在循环中,我需要检查元素h2是否应用了两个css类(acc_trigger和active)。我该如何做 <div id="accordionContents"> <div class="accordioncontainer"> <h2 class="acc_trigger active">

我有一些html,如下所示。我循环了div(accordionContents)中的所有元素。在循环中,我需要检查元素h2是否应用了两个css类(acc_trigger和active)。我该如何做

 <div id="accordionContents">
     <div class="accordioncontainer">         
                    <h2 class="acc_trigger active">
                       <a href="#"> <img class="openImage" src="Images/closed.png"> 
                          <div class="openHeader">Division : <b>Quality Assurance</b>(4 items)</div></a></h2>
                    <div class="acc_container" style="display: block;">
                        <div class="dataRowTeam">
                            <div class="riskStartContent">
                                <div class="riskGridHeader">
                                    weekStart</div>
                            </div>
                            <div class="riskEndContent">
                                <div class="riskGridHeader">
                                    90%</div>
                            </div>
                        </div>
                    </div>

                </div>
                 <div class="accordioncontainer">


                    <h2 class="acc_trigger">
                       <a href="#"> <img class="openImage" src="Images/closed.png"> 
                        <div class="openHeader">Division : <b>Quality Assurance</b>(4 items)</div></a></h2>
                    <div class="acc_container" style="display: none;">
                        <div class="dataRowTeam">
                            <div class="riskStartContent">
                                <div class="riskGridHeader">
                                    weekStart</div>
                            </div>
                            <div class="riskEndContent">
                                <div class="riskGridHeader">
                                    90%</div>
                            </div>
                        </div>
                    </div>

                </div>
</div>

周末开始
90%
周末开始
90%

试着多次询问hasClass;)

试试这个:

试试这个:

$('.accordionContents h2').each(function() {
    if ($(this).is('.acc_trigger.active')) {
        // do something...
    })
});

在您的具体情况下,这应该足够了:

var hasActive = $('.acc_trigger').hasClass("active"); // Bool. TRUE / FALSE

if(hasActive){
    // do something if TRUE
}
否则,您可以直接使用元素存在

顺便说一句,你的HTML格式很不寻常,我宁愿说错误:

DIV
(块级元素)不应该在
A
(内联)元素中找到。请发布包含循环的jQuery代码。我没有编写该代码。因为我不知道如何检查这个条件,你可以在
hasClass()
中放入多个类,例如
.hasClass('acc_trigger active')
:在检查了如何将css应用到容器中的图像标记后,只有h2有两个css类?这很简单,只要在找到的图像上调用.addClass()
if(hasbothcssclass)$(“img”,这是)addClass('myspecialClass')
@JEMI我这里没有大图,但是从你在那里说的判断,我认为你可以使用css:
.acc_trigger.active{color:red;}
在检查如何将css应用于img标记后,只有h2元素有两个css类?在循环中,我需要应用css。例如,在该accordion内容div中有多个accordion容器div。在该div中有h2元素。该h2元素有多个css,我可以仅将css应用于img标记。正如我在注释中提到的:addClass是您需要的need@JEMI
$('.acc_trigger.active').find('img').addClass('someImageClass')
$('.accordionContents h2').each(function() {
    if ($(this).is('.acc_trigger.active')) {
        // do something...
    })
});
var strValue = $("h2").prop('class').trim();
if(strValue.indexOf(" ") > -1)
{
    //This element has multiple classes.
}
else
{
    //This element has a single class.
}
var hasActive = $('.acc_trigger').hasClass("active"); // Bool. TRUE / FALSE

if(hasActive){
    // do something if TRUE
}
$('.acc_trigger.active').css({background: 'red'});