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

时间:2013-09-23 12:35:34

标签: javascript jquery

我对javascript / jQuery很新,所以如果这是一个非常基本的问题,请道歉。

我有一个变量,它使用Math.random从一个数组中选择9个潜在类中的一个,这些类是相同的,除了最后一个不同的数字1-9。我想使用javascript检查是否隐藏了此类的所有元素。我可以在实际指定类时检查是否所有div都被隐藏,但我不确定如何使用变量或表达式来执行此操作。以下是我目前正在使用的内容,仅在指定div时才有效。

if ($('div.item9:visible').length == 0) 

我认为这样的事情会做我想做的事,但似乎没有用。

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

编辑:如果($(变量+':可见')。长度== 0)这确实有效,我在页面上有另一个div,这个类我没有意识到,因此总有一个未隐藏的元素,谢谢大家的帮助。

2 个答案:

答案 0 :(得分:0)

你可以在你的类名中使用相同的变量来选择1-9中的数字,例如

var x = Math.floor(Math.random() * (10 - 1) + 1);

这将生成1-10之间的随机整数,然后您只需在类名中添加x即可 像这样

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

干杯!

答案 1 :(得分: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");      
    }
});

在这里工作小提琴:http://jsfiddle.net/6neFA/