检查任何数据项上是否存在类

时间:2014-03-13 14:13:27

标签: javascript jquery

我有一个带有data-windows属性的div元素列表:

我基本上想要检查是否有任何隐藏(并且如果它们都被隐藏则执行某些操作)

我正在这样循环,这可行,但我想知道是否有更有效的方式:

 $("[data-windows]").each(function () {
     if (!$(this).hasClass('hidden')) {
         isSomethingShown = true;
         return false;
     }
 });

2 个答案:

答案 0 :(得分:3)

您可以使用:visible伪选择器:

if($("[data-windows]:visible").length){
    //Atleast 1 is visible
}else{
    //All hiden
}

var isSomethingShown = !!$("[data-windows]:visible").length; // Bang!Bang! [!!] convert into a boolean

当然,如果你想明确检查这个类,那么两个选择器都可以改为(也许应该是为了更快的性能)$("[data-windows].hidden")

答案 1 :(得分:2)

这个oneliner怎么回事:

return $("[data-windows].hidden").length == 0 ? false : true;