Как проверить, все ли div скрыты с переменным классом в jQuery

0

Я очень новичок в javascript/jQuery, так что извиняюсь, если это очень простой вопрос.

У меня есть переменная, которая использует Math.random для выбора одного из 9 потенциальных классов из массива, классы одинаковы, за исключением другого числа 1-9 в конце. Я хочу использовать javascript, чтобы проверить, скрыты ли все элементы этого класса. Я могу получить его, чтобы проверить, скрыты ли все divs, когда я на самом деле указываю класс, но не знаю, как это сделать с переменной или выражением. Ниже я использую данный момент, который работает только тогда, когда указан div.

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

Я предположил, что что-то вроде этого будет делать то, что я хочу, но он, похоже, не работает.

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

EDIT: if ($ (variable + ': visible'). Length == 0), это работает, у меня был другой div на странице с этим классом, который я не понимал, и поэтому всегда был незакрытый элемент, спасибо за помогите всем.

Теги:

2 ответа

0

вы можете использовать одну и ту же переменную в имени вашего класса, которую вы использовали для выбора числа от 1 до 9, например

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

это генерирует случайное целое число от 1 до 10, тогда вы можете просто добавить x в имя класса, как это

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

Приветствия!

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/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню