Jquery 使用hasClass检测包含同一类的多个组元素

Jquery 使用hasClass检测包含同一类的多个组元素,jquery,Jquery,我有一个问题让我困惑了好几天。这是关于如何使用.hasClass来检测所有ul组,其中至少有一个类处于活动状态,以便结合jQuery验证继续表单 <form id="rate"> <ul class="scoreList listRe listR2"> <li><a href="#">5</a></li> <li><a href="#">4</a></li>

我有一个问题让我困惑了好几天。这是关于如何使用.hasClass来检测所有ul组,其中至少有一个类处于活动状态,以便结合jQuery验证继续表单

<form id="rate"> 
<ul class="scoreList listRe listR2">
    <li><a href="#">5</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">1</a></li>
</ul>

<ul class="scoreList listRe listR2">
    <li><a href="#">5</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">1</a></li>
</ul>

<ul class="scoreList listRe listR3">
    <li><a href="#">5</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">1</a></li>
</ul>

</from>
但我在想我是否可以做以下事情:

if($('.listR1 a' && '.listR2 a' && 'listR3 a').hasClass())
                {
                    form.submit();
                }
                else{
                    alert("You must rate all!!!");
                    return false;
                };
你们有什么想法吗?我将非常感激

致以最良好的祝愿,
Jessie

只需在选择器中使用类名,然后检查其长度。例:

if ( $('.div1.active').length > 0 && $('.div2.active').length > 0 ) {
  // do stuff
}
试一试

JSFIDLE

var ul=$[class*=listR] ,button=$button ,label=$label ,激活=功能元素{ var arr=$.grepelem,函数el,i{ 返回$el.finda.is.active }; 返回arr.length!==elem.length?false:true }; label.textactiveul; 按钮,单击,功能{ ul.finda.active.toggleClassactive; label.textactiveul; } 切换激活
我需要列出所有类来测试长度吗?如果长度大于零,它就存在。由于选择器包含该类,因此如果该类实际上未被应用,它将返回0。试试看——它工作得很好,代码很少。
if ( $('.div1.active').length > 0 && $('.div2.active').length > 0 ) {
  // do stuff
}
var ul = $("[class*=listR]")
, active = function (elem) {
    var arr = $.grep(elem, function (el, i) {
        return $(el).find("a").is(".active")
    });
    return arr.length !== elem.length ? false : true
};

$('#rate').validate({
    submitHandler: function (form) {
        if (active(ul)) {
            form.submit();
        } else {
            alert("You must rate all!!!");
            return false;
        };
    }
});