Javascript 如何在jQuery中检查是否所有div都被变量类隐藏

Javascript 如何在jQuery中检查是否所有div都被变量类隐藏,javascript,jquery,Javascript,Jquery,我对javascript/jQuery非常陌生,如果这是一个非常基本的问题,我深表歉意 我有一个变量,它使用Math.random从一个数组中选择9个潜在类中的一个,这些类是相同的,只是末尾有一个不同的数字1-9。我想使用javascript来检查这个类的所有元素是否都是隐藏的。当我实际指定类时,我可以让它检查是否所有div都是隐藏的,但不确定如何使用变量或表达式来实现这一点。下面是我目前正在使用的,它只在指定div时起作用 if ($('div.item9:visible').length =

我对javascript/jQuery非常陌生,如果这是一个非常基本的问题,我深表歉意

我有一个变量,它使用Math.random从一个数组中选择9个潜在类中的一个,这些类是相同的,只是末尾有一个不同的数字1-9。我想使用javascript来检查这个类的所有元素是否都是隐藏的。当我实际指定类时,我可以让它检查是否所有div都是隐藏的,但不确定如何使用变量或表达式来实现这一点。下面是我目前正在使用的,它只在指定div时起作用

if ($('div.item9:visible').length == 0) 
我以为这样的东西可以满足我的要求,但似乎不起作用

 if ($(variable + ':visible').length == 0) 

编辑:如果($(variable+':visible')。length==0)这确实有效,我在这个类的页面上有另一个div,但我没有意识到,因此总是有一个未隐藏的元素,感谢大家的帮助。

您可以在类名中使用相同的变量,例如,在1-9之间选择一个数字

var x = Math.floor(Math.random() * (10 - 1) + 1);
这将生成一个介于1-10之间的随机整数,然后您可以在类名中添加x 像这样

if ($('div.item'+x+':visible').length == 0) 
干杯

试试这个:

var elements = [1,2,3,4,5,6,7,8,9];

function getRandomClassNumber(){

    //will give you random index
    var index = Math.floor((Math.random()*elements.length));
    return (elements[index]);
}

$("#btnRandom").on("click",function(){

var classNumber =  getRandomClassNumber();      
    if($(".item"+classNumber).is(":visible")){
      alert("item" + classNumber + " is visible");
    }else{
      alert("item" + classNumber + " not visible");      
    }
});

这里的工作小提琴:

为什么不为所有的小提琴使用同一个类?他们似乎都是一个群体。可能在父级
id
…不同的类通过css为元素赋予不同的颜色,因此我希望能够随机选取并检查它们是否隐藏。@假设“variable”中包含适当的内容,那么您的代码应该可以正常工作。您不能为所有元素添加另一个公共类吗?事情通常比较容易:)