0

我对 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,我没有意识到,因此总是有一个未隐藏的元素,谢谢帮助大家。

4

2 回答 2

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/

于 2013-09-23T13:01:39.760 回答
0

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

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

这将生成一个介于 1-10 之间的随机整数,然后您可以像这样在类名中添加 x

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

干杯!

于 2013-09-23T12:52:02.250 回答