如何在jQuery选择器中具有"and"和"or"条件



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

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

这将检查任何一个是否具有"已聚焦"类。

相反,我可以做这样的事情:

    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();
    }

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

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

尝试这样的事情

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

您可以使用类名和长度属性的过滤器来检查两者是否都具有该类

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

最新更新