2010-06-24 4 views
4

Есть ли способ проверить, скрыт ли какой-либо элемент (.container) в целом документе? Такие, как (который не работает должным образом):jQuery, если какой-либо из определенного класса скрыт, выполняет задачу, иначе выполняет другую задачу

$(".showall").click(
    function() { 
     if ($(".container").is("hidden")) 
       {perform a task} 
      else 
       {return false;} 
    }); 

ответ

6

Это звучит, как вы хотите, чтобы проверить, если по крайней мере, один из .container элементов скрыта.

Если это так, вы можете использовать селектор :hidden, а также проверить, есть ли значение length, чтобы узнать, сколько было возвращено.

$(".showall").click(
    function() { 
     if ($(".container:hidden").length) 
      // found at least one hidden 
     else 
      // didn't find any hidden 
    }); 

Если вы хотите, чтобы проверить, чтобы увидеть, если все были скрыты, используйте :visible селектор, как это:

$(".showall").click(
    function() { 
     if ($(".container:visible").length) 
      // found at least one visible 
     else 
      // didn't find any visible 
    }); 
+2

Почему это проголосовало? Что неверно? Вопрос не совсем ясен. OP сказал * в целом документе *, который звучит так, как OP тестирует * any * или * all * скрытый или видимый. – user113716

+0

Вы были верны. Код работает отлично :) – steve

+0

@steve - Рад, что это помогло. : О) – user113716

0

Вы имеете в виду использовать видно:

$(".showall").click(
    function() { 
     if ($('.container').is(":visible") == false) 
       {perform a task} 
      else 
       {return false;} 
    }); 
Смежные вопросы