JQuery - если идентификатор DIV является видимым

Я пытаюсь найти из DIV скрытый или если он открыт.

Это псевдокод:

if(DIV != VISIBLE) // not visible
{
  show content
}

Любые эксперты JQuery, способные помочь мне?

Спасибо, Роберт

Ответ 1

Если вы пытаетесь просто показать div, который скрыт, вам вообще не нужно делать никаких проверок:

$('#myDiv').show();

Независимо от его состояния заранее, оно будет теперь видимым.

Однако, если вы хотите выполнять другие действия в зависимости от того, видимо ли содержимое или нет, вам необходимо проверить:

if ($('#myDiv').is(":hidden")) 
// or
if ($('#myDiv:hidden').length) 
// or
if ($('#myDiv:not(:visible)')) {    // you get the idea...
    //perform your actions
}

Ответ 2

Все остальные ответы в порядке, но это просто для того, чтобы перевести ваш псевдокод в фактический код javascript:

if (!$('div').is(':visible')) {
  $('div').show();
}

Ответ 3

Следующее отобразит DIV с именем myDiv, если он скрыт. Обратите внимание: если вы хотите делать другие вещи, вы можете также использовать каждый(), а не показывать и выполнять другие операции над $(этим) внутри каждого.

$('div#myDiv:hidden').show();

Ответ 4

Это проверит, будут ли вы отобраны какие-либо скрытые элементы с идентификатором "mydiv":

 if ( $("#mydiv:hidden").length > 0)
 {
    // 
 }

Изменить: Упрощенный селектор. Пришлось посмотреть:/

Ответ 5

Если вы только хотите скрыть и показать элемент, вы можете просто использовать метод jQuery . toggle(), который будет делать только это для вас. Аналогично, . Методы slideToggle() и .fadeToggle() будут скрывать и показывать элементы с анимацией скольжения или затухания.