如何在jQuery选择器中使用“和”和“或”条件

时间:2016-03-17 09:07:00

标签: javascript jquery

我想检查两个单独的div是否使用hasClass返回true。

    if($('#first-name, #last-name').hasClass('has-focused')) {
        $('#personal-info').valid();
    }

检查其中任何一个是否具有'has-focused'类。

相反,我可以这样做:

    if($('#first-name').hasClass('has-focused')&&$('#last-name').hasClass('has-focused')) {
        $('#personal-info').valid();
    }

然而,该解决方案感觉有点笨拙。所以可以做这样的事情。

    if($('#first-name'&&'#last-name').hasClass('has-focused')) {
        $('#personal-info').valid();
    }

3 个答案:

答案 0 :(得分:3)

你不能这样做,虽然你可以有一个基于过滤器的解决方案,如

if ($('#first-name, #last-name').not('.has-focused').length == 0) {
  $('#personal-info').valid();
}

答案 1 :(得分:0)

尝试这样的事情

$('#first-name.has-focused,#last-name.has-focused').length === 2

答案 2 :(得分:0)

您可以使用filter作为类名和长度属性来检查两者是否都具有类

if ($('#first-name, #last-name').filter(".has-focused").length == 2){
  $('#personal-info').valid();
}