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

标签 javascript jquery

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

我基本上想检查其中是否有任何一个没有隐藏(如果它们都隐藏了,就做一些事情)

我像这样循环它们,这有效,但我想知道是否有更有效的方法:

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

最佳答案

您可以使用 :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")

关于javascript - 检查任何数据项上是否不存在类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22381284/

相关文章:

javascript - Groovy .collect() 是否等同于 JS .map()?

javascript - 如何获取 `<th>` 而不是 `<td>` ?

javascript - 将 jQuery 事件添加到单个文本链接

jquery数据表按类导出行

javascript - 通过javascript更改图像src - 缓存问题

javascript - 如何为 td 元素设置 nowrap 属性?

javascript - 如何发送消息而不回复斜杠命令?

javascript - 单击 <li> 时将单击结果发送到 href

javascript - 如何通过点击获取<li>元素的数据

javascript - 如何用溢出 :auto with arrows 替换 div 的滚动条